PDA

Просмотр полной версии : PHP


Hast
02.10.2010, 14:42
Материал из Википедии — свободной энциклопедии
PHP (англ. PHP: Hypertext Preprocessor — «PHP: Препроцессор Гипертекста») — скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством представителей хостинга. Входит в LAMP — «стандартный» набор для создания вебсайтов (Linux, Apache, MySQL, PHP (Python или Perl)).

В области программирования для Сети PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.

Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, Linux, Windows и Mac OS X. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Ныне PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.

Полезные ссылки:
http://www.php.net/ - офф. сайт PHP
http://mysql.com/ - офф. сайт MySQL
http://dev.mysql.com/doc/ - мануал по MySQL(на русский переведён только по версии 4.0)
http://php.ru/ - российский сайт PHP
http://php.spb.ru/ - самый первый российский сайт о PHP
http://www.phpclub.ru/ - клуб PHP-разработчиков
http://www.php.su/ - учебники статьи и др. полезный материал о PHP
http://phpfaq.ru/ - F.A.Q. по PHP
http://www.phpinside.ru/ - первый российский журнал о PHP - "PHPInside"
http://community.livejournal.com/ru_php - русское сообщество PHP в ЖЖ
http://xpoint.ru/forums/programming/PHP/forum.xhtml - форум по PHP на Xpoint
http://forum.dklab.ru/ - форум Лаборатории dk(создатели денвера (http://www.denwer.ru/))
http://www.denwer.ru/ - Джентльменский Наброр Web-Разработчика(полностью настроенный сервер Apache+PHP+MySql для локального тестирования и разработаки сайтов)
http://woweb.ru/ - старейший архив различных полезностей для web-мастера(скрипты/шаблоны/шрифты и пр.)
http://softtime.ru/bookphp/ - Online учебник от студии SoftTime (авторы многих книг по PHP).
http://forum.igromania.ru/showthread.php?t=82225 - Краткий мануал по PHP + MySQL

Легкий поиск по online-мануалу:

Вариант 1:
Чтобы найти информацию по какой нибудь функции, достаточно написать в строке браузера URL вида :
http://php.net/название функцииНапример:

http://php.net/echoВариант 2 ( by V@s3K (http://forum.igromania.ru/member.php?u=7195) ):
http://ilusion.com.ua/mnid/php.png

Opera
Заходим www.php.net (http://www.php.net)
Кликаем правой кнопкой мышки на форму поиска.
Выбираем добавить поисковый ресурс (В новых версиях - "Создать поисковый движок").
В открывшемся окошке качестве префикса указываем php.
Вуаля. У нас есть поиск по php.net. Можем смело вводить в адрессную строку php phpinfo или выбрать его справа от адресной строки в выпадающем списке.

Firefox 3
Делай раз - заходим на сайт php.net
Делай два - тыкаем на стрелочку вниз в поисковом окошке (ну который рядом со значком гугла), появляется список уже установленных поисковых движков, и там же...
Делай три - тыкаем на строчку Добавить <<Add PHP.Net search>>

Движки для сайтов(CMS) обсуждаем здесь (http://forum.igromania.ru/showthread.php?t=1410)
Движки для форумов обсуждаем здесь
(http://forum.igromania.ru/showthread.php?t=1785)По СУБД сюда (http://forum.igromania.ru/showthread.php?t=124529)

Sergeevish
17.10.2010, 21:13
Простой вопрос:
Нужно разместить ссылку почт.ящика и чтобы она открвалась строго через Outlook

Hast
17.10.2010, 23:06
Sergeevish, не совсем php как бы.

<a href="mailto:lol@lol.com">lol@lol.com </a>

Откроется через дефолтный почтовый клиент.

MeDveZatNIK
19.10.2010, 20:30
Пацаны, такой вопрос. Какие фреймворки сейчас в фаворе у PHP-девелоперов ? Кроме очень раздутого симфони, который внутри себя держит еще с пяток фреймворков для разных целей. Для моих задач как-то слишком много лишнего он с собой несет. Есть что-нибудь поменьше, но с такой же логичной структурой построения приложений.

Hast
19.10.2010, 20:39
MeDveZatNIK, поменьше - codeIgniter, покрасивее - ZendFW.

Ballax
16.11.2010, 18:06
Наверное сюда.
Проблема с форумом на булке есть. С недавнего времени при заходе в любые темы вот такое: тык (http://worlds-ent.ru/forumdisplay.php?f=2). На главное странице и в админке все нормально. Кто знает, можете подсказать?

Kentаvr
17.11.2010, 20:21
Наверное сюда.
Не сюда, есть тема по вобле.
Только я ничего особого не вижу.

Hast
17.11.2010, 20:45
Kentаvr, там проблема была на уровне БД, так что всё правильно. Разобрались уже в асечках.

doublefaced
18.12.2010, 14:29
Как осуществить?
строка, у которой справа и слева удалено по 10% символов (с точностью до 1 символа)

adVISeR
18.12.2010, 23:35
doublefaced
Считаем количество символов, определяем сколько от этого количества 10%. Через substr вырезаем 2 раза подстроку.

doublefaced
18.12.2010, 23:39
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>text</title>
<meta content="text/html; charset=Windows-1251" http-equiv="content-type">
<link rel="stylesheet" type="text/css" media="screen" href="v/style.css" />
</head>
<body>
<form method="post">
<p>
<input type="text" name="input" value = "Текст" />
</p>
<input type="submit" name="result" value="Вычислить"/>

<?php

$input = $_POST['input'];
$L = strlen($input);
$n = round($L / 10);
$result = substr($input, $n, -$n);
echo $result;
?>
</form>
</body>
</html>
Вроде так.

adVISeR
18.12.2010, 23:48
Не совсем, вот как-то так:

$n = round($L*0.1);

doublefaced
11.02.2011, 18:20
Поиск на сервере по вхождению текста (без индексации), с возможностью использования логических И и ИЛИ
Что значит без индексации? Как это примерно будет выглядить?

bober_maniac
11.02.2011, 18:38
Что значит без индексации? Как это примерно будет выглядить?
Берутся все текстовые записи, по каждой из них делается поиск обычным String.Find (или его аналогом в вашем ЯП) по каждой строке, результаты конкатенируются с использованием логических предикатов.

Обычный поиск, только жутко тормозной.

doublefaced
11.02.2011, 19:28
а откуда должны браться данные для поиска?
я не для сайта делаю, лаба такая

bober_maniac
11.02.2011, 21:11
а откуда должны браться данные для поиска?
я не для сайта делаю, лаба такая
Из текста.

Процесс индексации - это когда ты заранее обрабатываешь текст (в момент его получения, а не в момент поиска), разбиваешь его на токены и создаешь индекс - набор "слово - наличие его в данном тексте", который помещаешь в хранилище.

Без индексации - это обычный поиск привычными нам средствами.

De-Luxis
27.03.2011, 12:59
Какие фреймворки сейчас в фаворе у PHP-девелоперов ?
Yii набирает популярность.

Toutaku
10.06.2011, 00:51
за сколько можно освоить базовую составляющую языка?

adVISeR
10.06.2011, 18:22
Toutaku
Зависит от опыта. Если что-то C-подобное знаете, то синтаксис очень лёгким будет.

j@mal
13.06.2011, 08:55
Посоветуйте учебник, ну для совсем 0 в PHP.

Xaron
13.06.2011, 10:13
j@mal, этот тебя устроит? http://phpfaq.ru/

j@mal
13.06.2011, 10:18
Вполне. Спасибо.

Для полного 0 - это сгодаится -http://phpfaq.ru/php5.ru/study/ ???

Xaron
13.06.2011, 10:28
j@mal, я с него и начал, да.

handless
10.07.2011, 23:13
мм, а если с книг?
Хотелось бы летом начать учить, но не знаю какую книгу покупать..

Hast
13.07.2011, 03:46
handless, лучшей книгой по php на данный момент считаю Zend PHP 5 Certification Study Guide. Только в PDF и только на английском.

Добавлено через 1 минуту
Сейчас вроде есть версия для 5.3

handless
19.07.2011, 22:18
С английским то более-менее но не на таком уровне..
а что нибудь на рус для начала? что бы хоть потом при чтении англ.имел представление о чем идет речь

j@mal
04.09.2011, 21:00
Читай книгу Кухарчика Пхп - обучение на примерах, и будет тебе счастье.

Skull007
15.11.2011, 15:17
Тут пытался на страницу видео бросить... Использовал следующие:
<IMG DYNSRC="S.mp4" START="FILEOPEN" WIDTH="200" HEIGHT="250">
Окошко под видео выделяется, но оно не воспроизводится.

Мосвар
16.11.2011, 03:00
Тут пытался на страницу видео бросить... Использовал следующие:
<IMG DYNSRC="S.mp4" START="FILEOPEN" WIDTH="200" HEIGHT="250">
Окошко под видео выделяется, но оно не воспроизводится.

Ваш ролик в закодированом виде. Очень вероятно, что он не будет проигрываться в бразуерах многих пользователей, даже если запустится у вас. Проблема в кодеках.

Рекомендую:

конвертировать ролик в формат флеш *.flv
и вставить в страничку данный ролик, тогда проблемы совместимости решаться


P.S. Данный вопрос к PHP не имеет ни малейшего отношения. ;-)

Hast
04.12.2011, 18:13
Есть тут гении sql? Нужно с одной задачкой разобраться. Есть запрос:

SELECT `litters`.*, `cats`.`name` AS parent_name FROM `litters` LEFT OUTER JOIN cats ON `litters`.`mom_id` = `cats`.`id` OR `litters`.`dad_id` = `cats`.`id`

Собственно, полz mom_id и dad_id таблицы litters ссылаются на одно и то же поле таблицы cats. Проблема в том, что в итоге у меня получаются ДВЕ записи, которые отличаюся только полем parent_name. Вопрос вот в чем: как эти две записи превратить в одну, при этом поле parent_name разбить на два: mom_name и dad_name? Всё нужно сделать одним запросом.

Добавлено через 1 час 51 минуту
Решение:
SELECT `litters` . * , cat_moms.`name` AS mom_name, cat_dads.`name` AS dad_name
FROM `litters`
LEFT JOIN `cats` AS cat_moms ON `litters`.`mom_id` = cat_moms.`id`
LEFT JOIN `cats` AS cat_dads ON `litters`.`dad_id` = cat_dads.`id`

deriop
11.12.2011, 13:54
Помогите пожалуйста со встраиванием css стиля в php страницу

вот написал страницу

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Страница1</title>

<link rel="stylesheet" type="text/css" href="mystyle.css" />

</head>

<body>
<?php
echo "ДНО";
?>
<table width="690" border align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="border1">
<tr>
<td>&nbsp
<br> <?php echo "Текст тута!"; ?>
<br>&nbsp</td>
</tr>


</table>


</body>
</html>
а в css файле прописал
p {font-family:Verdana; font-size:12px; margin:15px;}
собствеено что с css,что без,шрифт текста не меняется...

emptily
11.12.2011, 14:05
deriop, либо в тег <p> текст заключи, либо стиль для body/table прописывай.

body {font-family:Verdana; font-size:12px; margin:15px;}

Xaron
11.12.2011, 14:05
Он не должен меняться, так как тега <p></p> на странице нет.

deriop
11.12.2011, 19:01
А есть ли инструкция по созданию форума для сайта?

Xaron
11.12.2011, 19:18
deriop, в смысле привязать форум к сайту?
Для всех основных движков сайтов и форумов есть инструкции на форумах сообществ движков сайтов.

deriop
14.12.2011, 22:13
del

Keltar
14.12.2011, 23:03
deriop, тебе сюда (http://forum.igromania.ru/showthread.php?t=114439)

Xaron
14.12.2011, 23:11
Как сделать табличку прозрачной?
deriop, первые два поста смотри в этой теме. http://forum.igromania.ru/showthread.php?t=114439
PHP тут не причем вообще.

слоу я, такой слоу

Smile : )
04.03.2012, 07:55
привет. нуждаюсь в вашей помощи.
Не могу понять как правильно сделать выборку с таблицы.
Есть таблица с полями date и peopple.
date может повторяться, т.е. может быть несколько записей с одной датой.
нужно выбрать все значения поля peopple и сгруппировать сумму по дате. т.е. если имеем:
date - peopple
21.03.12 - 3
21.03.12 - 1
21.03.12 - 2
22.03.12 - 1
22.03.12 - 1
25.03.12 - 2
25.03.12 - 1

Нужно вывести
21.03.12 - 6
22.03.12 - 2
25.03.12 - 3

помогите плз.

pokibor
04.03.2012, 08:24
Smile : ), не могу понять, при чём здесь PHP. Элементарный SQL запрос, который пишется практически так же, как Вы его выше описали:
SELECT date, SUM(peopple) FROM <имя таблицы> GROUP BY date
P.S. "Люди" по-английски вообще-то с одним p пишутся: people...

Smile : )
04.03.2012, 09:22
pokibor, спасибо, помог бездарности :)
ps: people - затупил
ps2: только изучаю php и mysql

Добавлено через 1 час 22 минуты
Не могу понять, почему этот код не работает.
помогите плз. только не пинайте.


Не могу понять, почему этот код не работает.
помогите плз. только не пинайте.

<?
$hostname = "localhost"; // В моем случае сайт на денвере висит
$username = "root";
$password = "";
$dbName = "dbname"; //Имя нужной базы

$table_book = "content_type_booking"; // Имена наших таблиц
$table_test = "test"; // Имена наших таблиц

$link=mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_query("SET NAMES cp1251");//скорей всего таблица создана в ЮТФ8
//- но для нормального отображения в браузере
mysql_select_db($dbName) or die(mysql_error()); // я сразу ставлю 1251 чтоб не переключать там кодировку
mysql_query("SET NAMES cp1251");





$res=mysql_query("SELECT field_date_pick_up_value, SUM(field_adult_value) FROM $table_book GROUP BY field_date_pick_up_value ORDER BY nid DESC limit 1");
while(list($date_d, $adult_sum_d) = mysql_fetch_row($res))
{
echo "$date_d <br> $adult_sum_d<br>";
} ;

mysql_query ("INSERT INTO $table_test (date, adult_sum) VALUES ($date_d,$adult_sum_d)
ON DUPLICATE KEY UPDATE adult_sum = VALUES(adult_sum)");


mysql_close($link);
?>




т.е. в базу ничего не записывается.

Добавлено через 3 часа 12 минут
Все, разобрался. Это я чуток дурак :) Вопрос закрыт!

Hast
04.03.2012, 15:35
mysql_query("SET NAMES cp1251");Я бы за такое руки отрывал. И зачем два раза то?

echo "$date_d <br> $adult_sum_d<br>";
И вот за это тоже.

deriop
07.03.2012, 23:36
есть вот это
echo ' <img src="'.$dir_pics.'/' . $handle->file_dst_name . '" />';
И вот то,что есть в img src мне надо занести в переменную, например, $pic
Как это сделать?

Hast
07.03.2012, 23:51
deriop, эммм.... $pic = $dir_pics .'/' . $handle->file_dst_name;

Da Vinci
13.06.2012, 22:22
ребят, помогите написать сканер сайтов в dreamweaver

Hast
13.06.2012, 22:45
ребят, помогите написать сканер сайтов в dreamweaverА 3D анимацию в paint не хочешь научиться делать?

virus36
15.06.2012, 17:26
Изначально файл был в cp1251 , после перевода в utf-8 вылетает ошибка
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\test1.ru\www\login.php:1) in Z:\home\test1.ru\www\login.php on line 3 а в ср1251 все хорошо.
P.S.Можно сказать только начал изучать это. Скачал исходники и вот.

Hast
15.06.2012, 17:30
virus36, скорее всего в самом начале файла добавился лишний символ при перекодироке. Попробуй заново создать файл сразу в utf-8.

virus36
15.06.2012, 21:22
Перекодировал без bom, все заработало)

KeFEAR
16.09.2012, 15:04
Использую денвер, некоторое время ничего не писал, сейчас запускаю и скрипты не работают и никак не отображаются, на старых файлах тоже. Кроме денвера ведь ничего не надо?

Hast
21.09.2012, 23:04
Использую денвер, некоторое время ничего не писал, сейчас запускаю и скрипты не работают и никак не отображаются, на старых файлах тоже. Кроме денвера ведь ничего не надо?Снеси это говно и поставь WAMP / XAMPP

dimanmish
27.01.2013, 17:47
deleted.

eXotic
03.04.2013, 20:57
Привет, меня зовут Алексей. Я люблю играть в старкрафт, а ещё я полный лох в php.
<input type = "text" name = "user">
<input type = "password" name = "pass">
<input type = "submit" value = "send">
<?
if ($_POST['user'] = "admin"
&&
$_POST['pass'] = "123")
{
echo "done";
}
else
{
echo "fail";
}
?>
Пошел на курс по выбору, посвященный php и не только, как сразу возникла проблема с написанием вот такой простейшей авторизации. Насколько я понимаю, мне должен высветиться текст "done", только если я зашел с данными админа, но он у меня тупо стоит под формой, мне даже вводить ничего не надо и на кнопку жать. Соответственно, при вводе левых данных (не админских), "fail" у меня не пишется. Короче, перерыл всю лекцию и пару интернет-ресурсов, но безрезультатно.

Keltar
03.04.2013, 21:29
eXotic, два == в условиях

eXotic
04.04.2013, 21:20
Пожалуй, затусуюсь-ка я у вас. Возникл вопрос по кукам : надо сделать так, чтобы пользователь запоминался, и при следующем обращении к form.php сразу же переводил меня на auth.php. Куки я поставил, они работают, только я не пойму, как передать данные из куки в скрипт. Инфу искал - что-то есть, но не то, либо просто я криворукий.
Form.php:
<?
SetCookie("user", "admin");
if (SetCookie("user", "admin")) echo "cookie ustanovleni";
else echo "net";
?>
<form action = "auth.php" method = "post">
<input type = "text" name = "user">
<input type = "password" name = "pass">
<input type = "submit" value = "send">
</form>
Auth.php:
<?
if ($_POST['user'] == "admin"
&&
$_POST['pass'] == "123")
{
echo "done";
}
else
{
echo "fail";
}
?>

upd. Вот подумал, может, как-то надо вот это прикрутить?
if (isset($_COOKIE["user"]))
{
?>
<form action = "auth.php" method = "post">
<?
}
upd2. Добавил в начало Form.php вот это:
session_start();
if ($_SESSION['auth']<>1)
{
header ("location: /htdocs1/auth.php");
exit;
}
Теперь меня вообще всегда переводит на auth.php, причем, не важно, логинился ли я уже, или просто перезапустил браузер - всегда одно и то же =\
Точнее нет, не так, а вот так : залогинился под админом, мне вывело "done", изменил скрипт, вставив спойлер, обращаюсь в Form.php - выводит "done", но если закрываю браузер и опять обращаюсь к форму - "fail", что говорит о том, что я каким-то хреном автоматически залогинился с пустыми данными.

bl0geps
07.06.2013, 21:23
Нравится узнавать все больше и больше о серверном языке PhP программирования - http://php-bce.ru/index.php, с помощью его многие разработчики делают много скриптов, к тому же на русском, что приятно просматривать. Если в PhP хорошо разбираться, то возможности очень большие, многие ищут именно опытных специалистов по этому.

mirgeo
24.03.2014, 21:13
Товарищи программисты и им подобные, подскажите мне, пожалуйста.
хочу вставить данные в таблицу из формы, которые передаются при помощи метода POST. Но почему-то данные в таблицу не заносятся (работаю через denwer +phpmyAdmin).
Код, вроде бы, правильный.

Может кто-нибудь напишет в плане синтаксиса пример добавления, хочу сравнить со своим. Подключение к таблице выполнено, просто код на добавление. Спасибо

Hast
28.03.2014, 23:09
mirgeo, в какую таблицу добавить? Что добавить?

mirgeo
07.04.2014, 12:49
Hast, у меня форма добавления записи в таблицу. Данные из этой формы должны заноситься в таблицу. Но почему-то значения из формы не передаются, какая-то ошибка видать. В результате не добавляются

djalex
14.04.2014, 18:54
я вот учил Z-80 assembler в детстве и бэйсик, потом уже сам и до php , html ,mysql добрался...

а вот как ни странно , мне говорят - единственный язык - это С++
а то что ты изучал - это не программирование... увы на этом ничего не пишут

хочешь сделать игру на Unreal ENgine 4 , что я сейчас собственно изучаю
и тут ТОЖЕ нужен С++ - он везде нужен.

Вот чего добился за несколько дней.
http://cs617529.vk.me/v617529257/56d0/O1Nzgcwg6k8.jpg

Keltar
14.04.2014, 19:27
djalex, это все, конечно, круто, но какое отношение имеет к теме РНР?

snikldml
29.04.2014, 15:33
Здрасте. Дали задание на практике:
Создать форму, чтоб при вводе информации в неё, эта информация появлялась в спец разделах на группе сайтов. Сказали, что к серверу всё сами прикрутят и на сайтах соответствующие разделы сами сделают, мне нужно создать страницы с запросом логина и пароля и сами формы. Сделать это нужно на php. Сказали принести на флешке в виде файлов php и бд.

С чего собственно начать? Примерный алгоритм действий хотелось бы услышать.

Что сделал я на данный момент:
1. Поставил denwer.
2. Открыл кучу ссылок в браузере, в поисках ответов на всплывающие, в моём сознание, каждую секунду вопросы.
3. -

Мои мысли:
Я так понял, нужно как и при html вёрстке в блокноте прям написать код страницы.
Т.е. я создаю страницу с запросом логина и пароля, подключаю каким-нибудь образом это чудо к mysql. Далее создаю формы для ввода информации(можно ли их создать используя только html в моём случае?). Далее каким-то образом делаю так чтоб при нажатие кнопки "отправить" информация пересылалась куда то там.

Спасибо за внимание, студент 4ого курса радиотехнического колледжа.

Keltar
30.04.2014, 13:51
snikldml, http://softtime.ru/bookphp/gl1_1.php - основы пхп и работы с бд, примеры есть.

Cyclops
30.04.2014, 18:10
snikldml, сразу готовый вариант, только подправь. Вот! (https://exploit.in/forum/index.php?showtopic=75925)

ComeInside
23.03.2015, 03:59
Бросайте PHP, пока не поздно
Иначе всю жизнь будете натягивать на джумлу

Cyclops
23.03.2015, 17:33
ComeInside, что ты несешь? PHP полезен для общего развития, вакансии есть и ладно.

АLPHA
26.03.2015, 20:22
del

adVISeR
26.03.2015, 22:54
АLPHA,
1) JS выполняется на клиенте, если мы не говорим о node.js и прочих извращениях.
2) PHP ничего "передать" не может. Можно написать скрипт на php, который будет возвращать JSON, например. Затем уже AJAX запрос на этот скрипт и делаем с данными на клиенте всё что угодно.

АLPHA
12.04.2015, 18:41
del