Уроки по PHP для новичков.
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Уроки по PHP для новичков. - 2009-11-28 20:05:15.110000
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
Ух..чет все вокруг пишут свои статьи, а я вклад в рунет не вношу. Плохо это. Вот и решил написать цикл статей по теме в которой я хоть немного да понимаю :) Уроки PHP. 1.Куда нажать? Где писать? Что запустить? У PHP есть множество разнообразых сред разработки (Zend, Delphi for PHP, Eclipse PDT,phpDesigner), но писать можно даже в блокноте. Я пишу код в Notepad++, т.к не хочу чтобы висела тяжеловесная программа. Для набора кода советуют Dreamweaver, но мне лень качать и я им не пользуюсь. В общем простор вашей фантазии. Предварительно надо скачать локальный сервер. Локальный сервер, это сервер, работающий либо на компьютере пользователя, либо в локальной сети. Также нужен интерпретатор PHP, систему управления БД итд. Чтобы не заморачиваться можно скачать готовые набор программ (apache, mysql итп) например Денвер. Скачать можно тут: Скачать. В принципе, все устанавливается без проблем и если вы введете в строке браузера localhost (или что вы там придумали), то уже увидите какое-нибудь сообщение от сервера. В случае Денвера это инструкция по работе с ним. Например то, что все скрипты надо кидать в "/home/localhost/www" 2.С чего начать писать скрипт? Вариантов несколько, но предпочтительными являются.
<?php
//Код скрипта
?>
<?
//Код скрипта
?> 3.Комментарии Комментарии нужны, чтобы оставлять свои пояснения в коде, чтобы не запутаться самому, помочь разобраться другим, закомментировать забракованный код, который жалко удалить , или можно оставить пасхалку, раскомментировав которую можно получить что-нибудь этакое. Однострочные комментарии к коду начинаются с - //, либо с #. Многострочные пишутся в /*…*/. Интерпретатор не обращает внимание на содержание комментариев. 4.Наш первый скрипт. Helloworld. Наиболее часто используемая синтаксическая конструкция в PHP это echo() - используется для вывода текста на экран. Вместо текста в параметрах можно писать html код. Ну что ж, напишем хелловорлд?
<?php
Echo('<i>ХелоВорлд</i>');
?> Примечание: Не забываем заканчивать оператор точкой с запятой и заключать текст в кавычки. Кстати о кавычках, в PHP можно использовать как одинарные так и двойные кавычки. Двойные могут обрабатывать некоторые управляющие последовательности (например \n,\r,\t подробнее про управляющие последовательности тут: http://php.su/learnphp/datatypes/?string#double); Сохраняйте ваш скрипт в указанной директории (/home/localhost/www/) в формате *.php, а лучше назвать index.php (Следите чтобы не сохранить случайно index.php.txt), т.к. Index.php интерпретируется сервером в первую очередь. Запускаете браузер и видите свое сообщение, а значит сервер работает, вы начали изучать PHP, и написали хелловорлд :). 5.Послесловие В следующем уроке мы рассмотрим основные конструкции языка (условия, циклы..) и получим первое ДЗ. Урок хоть и будет немного нудным, но без него никак. p.s. Если надо я продолжу писать, уже сейчас готов следующий урок, по основным конструкциям и уже пишется третий. Пока хочу знать это требуется или нет?
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-28 22:01:43.163333
|
|
|
Xalyavsheg
Сообщений: 9
Оценки: 0
Присоединился: 2008-11-27 21:22:36.883333
|
Зачот! Пиши еще!
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 02:47:46.940000
|
|
|
wolf295214
Сообщений: 5
Оценки: 0
Присоединился: 2009-04-01 19:10:00.026666
|
Пиши есчё!:) Любой труд всегда оценивается
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 09:25:45.276666
|
|
|
Motorcode
Сообщений: 68
Оценки: 0
Присоединился: 2009-07-15 21:15:27.283333
|
Я думаю это будет интересно, так держать
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 10:48:05.270000
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
Хорошо, есть 3 положительных отзыва. УРА!. Короче, следующий урок выложу сегодня-завтра, а потом раз в неделю.
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 11:41:57.720000
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
quote:
У PHP нет своей среды разработки http://www.zend.com/products/studio/ quote:
нет даже компилятора :) А зачем интерпретируемому языку иметь компилятор? quote:
Я пишу в Notepad++ и Блокноте. Советуют Dreamweaver, но мне лень качать и я им не пользуюсь. все 3 программы - сакс, вернее они не для разработки на PHP quote:
Предварительно надо скачать локальный сервер, чтобы вы могли запускать свои скрипты. Для запуска скриптов нужен не сервер, а интерпретатор. quote:
Что такое локальный сервер? Это программа имитирующая работу сервера на вашем компьютере. А я думал, что локальный сервер, это сервер, работающий либо на компьютере пользователя, либо в локальной сети. quote:
Она исполняет скрипты, работает с БД итп. Ничего такого она не делает. quote:
Наиболее популярен Денвер. Денвер - это не сервер, это набор дистрибутивов. quote:
Наиболее часто используемая функция в PHP это echo() Это не функция, а синтаксическая конструкция. quote:
p.s. Если надо я продолжу писать Не надо. Чтобы писать статьи, нужно разбираться в предмете, о котором вы пишите. После таких "учений", нужно будет обратно переучиваться.
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 11:42:43.523333
|
|
|
Agent Smith
Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
|
Автор жжот :D Пиши есчё! P.S. ORb, а ты однако суровый.:D
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 11:56:40.003333
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
quote:
ORIGINAL: oRb quote:
У PHP нет своей среды разработки http://www.zend.com/products/studio/ quote:
нет даже компилятора :) А зачем интерпретируемому языку иметь компилятор? quote:
Я пишу в Notepad++ и Блокноте. Советуют Dreamweaver, но мне лень качать и я им не пользуюсь. все 3 программы - сакс, вернее они не для разработки на PHP quote:
Предварительно надо скачать локальный сервер, чтобы вы могли запускать свои скрипты. Для запуска скриптов нужен не сервер, а интерпретатор. quote:
Что такое локальный сервер? Это программа имитирующая работу сервера на вашем компьютере. А я думал, что локальный сервер, это сервер, работающий либо на компьютере пользователя, либо в локальной сети. quote:
Она исполняет скрипты, работает с БД итп. Ничего такого она не делает. quote:
Наиболее популярен Денвер. Денвер - это не сервер, это набор дистрибутивов. quote:
Наиболее часто используемая функция в PHP это echo() Это не функция, а синтаксическая конструкция. quote:
p.s. Если надо я продолжу писать Не надо. Чтобы писать статьи, нужно разбираться в предмете, о котором вы пишите. После таких "учений", нужно будет обратно переучиваться. 1)Ну еще есть Delphi for PHP, но разве вы пользуетесь, хотя бы одной из этих сред. Как по мне так лучше пользоватся текстовым редактором, которые не нагружает систему. 2)Я разве не написал что это интерпретатор? Значит забыл, извиняюсь. 3)Насчет что такое локальный сервер, да немного не то написал. 4)Про echo(), исправил. 5)Дайте еще один шанс :(, а вообще спасибо за замечания.
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 12:02:25.960000
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
Урок 2 В этом уроке мы познакомимся с основными конструкциями и понятиями языка. 1)Переменные, константы. Переменные в PHP объявлять в общем не обязательно, можно сразу брать и использовать их. Названия переменных начинаются с знака доллара - $. Например: $a, $news, $user_id, $id12, причем названия чувствительны к регистру => $user и $UsEr разные переменные. Чтобы не было путаницы советую писать названия всех переменных в одном регистре, например в нижнем. В названиях переменных можно применять буквы латинского алфавита, цифры, знак - "_", причем название обязательно начинается с буквы. А вот константы объявлять надо. Но это не сложно. Воспользуемся функцией define(Имя, значение); Например: define(PI, '3.14'); Как правило идентификаторы констант (идентификаторами называют имена переменных, функций, констант итп) пишут в верхнем регистре, хотя это тоже не обязательно, а нужно только для удобства. 2)Условные переходы Иногда бывает необходимость провести какое-нибудь действие в зависимости от какого либо условия. Например, если А больше чем Б, то следует вывести число А, а если нет, то число Б. Синтаксис:
<?php
$a=5;
$b=0;
If ($a>$b) //Условие
{
Echo($a); //Что делать если выполняется условие
} else {
Echo($b); //Что делать если не выполняется условие
}
?> Если вторую часть (за else) не написать, то в случае отличном от условия, просто ничего не выполнится. Бывают случаи когда надо сделать много вложенных условий, тогда применяют такую конструкцию:
If (условие) {
}
else if (условие2){
}
else if (условие3){
}
Но такая конструкция получается очень громоздкой и не красивой при большом количестве условий. Тогда применяют конструкцию switch..case
Switch(условие){
Case значение1:
Операторы;
Break;
Case значение1:
Операторы;
Break;
Default: в ином случае
}
Приведем пример:
Switch($a) {
Case 1: echo('да');Break;
Case 2: echo('нет');Break;
Default: echo('неизвестно');
} В этом случае если значение переменной $a, будет 1, то выводится ответ "да", если 2, то "нет", в других случаях "неизвестно". Существуют специальные операции сравнения, которые очень часто используются в программировании, а особенно в условиях. Это операции: == - условие истинно, когда левый операнд и правый операнд равны. != - условие истинно, когда левый операнд не равен правому <= - равносильно знаку "меньше либо равно". >= - "больше либо равно" >- больше < - меньше === - равны и одинакового типа !== - не равны или разного типа (спасибо horiz) Итд. 3)Циклы Циклы применяются если необходимо повторить много раз какую-нибудь операцию. В PHP несколько видов циклов, позаимствованных из различных языков программирования (Perl, C++ …). 1)Если вам известно сколько раз выполниться цикл то используется такой вид цикла:
for($i=0;$i<=10;$i++)
{
//Операторы, которые будут повторяться
} Один проход цикла по операторам называется итерацией. В первой части, "$i=0" переменной счетчику присваивается начальное значение, во второй части($i<=10) условие окончания цикла и в последней, что делать с переменной счётчиком. В нашем случаем её надо инкрементировать, то есть увеличивать на 1 за каждый проход. 2)Если вы не знаете заранее количество итераций цикла. Тут есть два варианта:
while (условие выполнения)
{
//Операторы
} Пока условие истинно цикл повторяется. И второй вариант:
do{
//операторы
}While(условие) Различие в том что проверка на истинность условия происходит после выполнения операторов. То есть цикл выполнится как минимум 1 раз. Существует еще один вид циклов - foreach, позаимствованный из Perl, он удобен для перебора элементов массива. В общем виде:
foreach (массив as $key=>$value)
команды; Например:
$mas["first"] = "первый";
$mas["second"] = "второй";
$mas["third"] = "третий";
foreach ($mas as $key => $value)
{
echo $key." ".$value."<br>";
} Выведет: quote:
first первый second второй third третий Есть еще вариант записи, где ключ не доступен.
foreach (mas as $value)
тело; 4)Массивы. Массивы очень важны в любом языке программирования, так как позволяют оперировать с огромными размерами информации, а точнее с большим количеством переменных.:). Любая строка по умолчанию является массивом. Например:
$s="СтРоЧкА";
Echo($s[0]); Обращаться к элементам массива можно с помощью индекса - порядкового номера элемента. То есть строка echo($s[0]); выведет первый элемент, то есть букву "С". Индекс указывается в квадратных скобках. Можно массив задать еще и так:
$s[0]="C";
$s[1]="p";
$s[2]="O"; Удобно то же самое сделать циклом :) Особенно если элементов в массиве 1000. Также существует конструкция array(); для задания элементов массива.
$s=array("s","ss","sss"); В этом случае первый элемент получает индекс 1, второй-2 и.т.д Можно задать индексы элементов явно:
$s=array("s","ss",7=> "sss","ssss"); В этом случае элемент "sss" имеет индекс 7, а следующий за ним индекс 8. Также вместо числа, в качсетве индекса, можно использовать строку. Такие массивы называются ассоциативными. Например:
$theme["programming"] = "Программирование";
$theme["design"] = "Дизайн";
echo $theme["design"] Как видите, работать с ними так же легко. 5)Домашняя работа Чтобы скучный и нудный материал усваивался лучше (до лучших более интересных времен), и чтобы мозг не забывал до следующего урока, что было в предыдущем, мы будем делать задания. В этот раз простые. Ответы отправляйте мне на e-mail [email=Revival1002@gmail.com]Revival1002@gmail.com[/email], я проверю и если будут ошибки подскажу. А вопросы лучше задавайте здесь, чтобы остальные тоже узнали ответы на них. Номер 1: Вывести на экран первые N букв латинского алфавита с использованием массивов и циклов. (Подсказка: в массиве хранить весь алфавит, и выводить с помощью цикла, обращаясь к элементам по индексу). Номер 2: В массиве размерностью 10 дана последовательность нулей и единиц. Нужно вывести на экран количество нулей и количество единиц. (Массив заполните сами, т.к мы еще не умеем получать данные от пользователя) Номер 3: В переменной $a дана цифра от 1 до 26, нужно вывести на экран символ английского алфавита с порядковым номером $a (решение аналогично первой задаче). Номер 4: Заполнить массив $s первыми 100 числами Фибоначчи и вывести 67'ой элемент на экран. (1,1,2,3,5,8,13… - Каждый следующий элемент, это сумма двух предыдущих) Пример решения задачи: В переменной $a, хранится некоторое число. Нужно вывести сумму цифр от 1 до $a. Решение:
<?php
$a = 6;
$k=0; //Желательно заранее указать значение этой переменной.
for($i=1;$i<=$a;$i++)
{
$k=$k+$i; //Складываем предыдущую сумму с новым числом.
}
Echo $k; //Выводим результат на экран.
?> 6)Послесловие Ух, в общих чертах основы рассмотрели :) В следующем уроке пройдем GET и POST запросы, научимся работать с формами и получать данные от пользователя, дальше будет интереснее, а так пока что вроде все легко :) Не забывайте писать свои замечания и задавать вопросы! p.s. Надеюсь этот урок лучше предыдущего, а если нет, то .. очень жаль..
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 13:33:46.053333
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Замечания по уроку №2: quote:
2)Условия Если строго придерживаться терменологии, то IF и SWITCH это не условия, а условные переходы. Условия это $a==$b. quote:
Примечание: Существует еще один вид циклов - foreach, позаимствованный из Perl, но так как лично я использую его редко и вообще считаю что он вполне заменим другими видами, мы рассматривать его не будем. А вот это зря, зря… В моих программах foreach встречается чаще чем for и while вместе взятые. quote:
Существуют специальные операции сравнения, которые очень часто используются в программировании, а особенно в условиях. Это операции: == - условие истинно, когда левый операнд и правый операнд равны. != - условие истинно, когда левый операнд не равен правому <= - равносильно знаку "меньше либо равно". >= - "больше либо равно" >- больше < - меньше Итд. Забыли === - равны и одинакового типа, и !== - не равны или разного типа
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 17:29:16.440000
|
|
|
Xalyavsheg
Сообщений: 9
Оценки: 0
Присоединился: 2008-11-27 21:22:36.883333
|
Жду продолжения!:)
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-29 20:26:30.770000
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
Я проверил у вас ДЗ, очень много ошибок. Все ответил на e-mail Продолжение через неделю.
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-30 14:25:37.456666
|
|
|
G.Bug
Сообщений: 49
Оценки: 0
Присоединился: 2009-10-18 19:16:51.236666
|
Пиши не останавливайся….. я этот хпх никогда не переваривал, может хоть тут чего допру
|
|
|
RE: Уроки по PHP для новичков. - 2009-11-30 20:27:40.843333
|
|
|
XeL077
Сообщений: 9
Оценки: 0
Присоединился: 2009-11-17 18:22:35.883333
|
Не всё верно и точно, но хорошо.
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-04 15:53:49.970000
|
|
|
kent99
Сообщений: 1
Оценки: 0
Присоединился: 2009-12-04 13:24:17.893333
|
quote:
Обращаться к элементам массива можно с помощью индекса - порядкового номера элемента. То есть строка echo($s[1]); выведет первый элемент, то есть букву "С". строка echo($s[1]); выведет второй элемент, т.е. букву "т". Нумерация элементов массива начинается с нуля. Пиши еще!!!
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-04 20:24:26.953333
|
|
|
phpdreamer
Сообщений: 119
Оценки: 0
Присоединился: 2009-07-19 00:46:59.216666
|
по второй статье: а про foreach незнаем? и почему асоциативные массивы опущены? ЗЫ: orb хорошо покритиковал первую статью (за дело!) немного добавлю quote:
У PHP нет своей среды разработки quote:
нет даже компилятора :) сред разработки лично у меня в прогах 3(хоть и не 1 не установлено), всего их хз сколько, но много что касается компилятора, то bamcompile я считаю компилятором… хотя опять же это скриптовый язык. Имхо автору рано писать статьи. Да, возможно это поможет разобраться новичкам, но книжка автора, который написал сотню книг по программированию (например С.Хольцнер) поможет гораздо лучше… и создаст меньше неграмотных программистов Читайте книжки, а не вые…
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-05 22:17:43.410000
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
quote:
сред разработки лично у меня в прогах 3(хоть и не 1 не установлено), всего их хз сколько, но много что касается компилятора, то bamcompile я считаю компилятором… хотя опять же это скриптовый язык. Имхо автору рано писать статьи. Да, возможно это поможет разобраться новичкам, но книжка автора, который написал сотню книг по программированию (например С.Хольцнер) поможет гораздо лучше… и создаст меньше неграмотных программистов Читайте книжки, а не вые… К критике отношусь нормально, потому что действительно ошибки есть. Конечно книги есть, они лучше, намного. Но не у всех есть возможность покупать книги (а они сейчас достаточно дорогие), а читать книги в электронном варианте, не всем по душе. Завтра выложу еще урок, недочеты и ошибки напишете в личку, постараюсь исправить.
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-06 19:14:00.673333
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
Мои прошлые уроки бешенной популярностью не пользовались, было прислано всего одно ДЗ на проверку. Но так как читатели, которым понравилось были, то я продолжаю. Если будут замечания, то пишите в личку и я исправлю. Вопросы можно задавать тут же. Итак сегодня мы научимся принимать данные от пользователя. Желательно знать html, приступая к PHP, но если вы знаете его не очень то сегодня я познакомлю вас с формами, так как без них дальше тяжеловато. 1)Формы Формы позволяют получать некоторые данные от посетителя, передавать их PHP скрипту. Без форм не обойтись создавая регистрацию и авторизацию на сайте, для организации добавления комментариев и создания гостевой книги. Для создания формы, в нужном месте добавим тег <form>
<form action="add.php"method="POST"> </form> Где параметр action - это тот скрипт которому будут переданы данные, а method - указывает каким методом будут переданы данные. Два метода мы рассмотрим чуть позже. Внутри этого блока <form></form> мы пишем из каких элементов будет состоять форма: различные кнопки, поля ввода, флажки. Например, однострочное поле ввода: <input name="FIO" value="ФИО"> Name - имя элемента, нельзя чтобы оно дублировалось (с таким именем должен быть только один элемент), value - значение по умолчанию. Для отправки данных, используется такой элемент: <input type="submit" name="send" value="Отправить"> - это кнопка для отправки данных из формы скрипту. Более подробно познакомиться с элементами форм можно тут: http://www.softtime.ru/info/articlephp.php?id_article=96 А теперь поговорим об основных методах передачи информации. 2)Методы POST и GET а)Метод GET Вы наверно видели URL такого вида: http://example.com/index.php?id=11&pr=543 Метод GET передает информацию с использованием URL. Данные записываются после знака "?" в виде имя=значение и разделяются знаком - "&". Использовать метод GET следует аккуратно, так как любой пользователь может изменить URL запрос, либо в URL может быть видна важная информация (например пароль пользователя, в этом случает GET не используют). Допустим вы отправили скрипту, методом GET имя (name) и фамилию (surname), тогда чтобы вывести данные, нужно обращаться к элементам суперглобального массива $_GET; например
$name=$_GET['name'];
$surname=$_GET['surname']; Для передачи информации, даже не обязательно создавать форму, можно заранее сформировать ссылку с нужными параметрами и перейти по ней. Например: <a href="index.php?id=1&app=12">Ссылка</a> б)POST В отличие от метода GET, POST передает значения переменных в теле URL запроса. Вы не можете увидеть их в URL. Доставать данные можно аналогичным способом:
$name=$_POST['name'];
$surname=$_POST['surname']; При передачи сравнительно больших объемов информации следует использовать именно POST. Примечание: Передавая пароли следует их хешировать. Одним из популярнейших алгоритмов хеширования является md5, примените к паролю перед передачей функцию md5() и сравнивайте хеши паролей. В этом случае если злоумышленник сможет взломать вашу БД, то ему будет труднее узнать пароль, а если пароль еще и состоит из букв разного регистра, цифр и спецсимволов, то взломать его практически невозможно. Примечание: Желательно заменять все спецсимволы получаемые от пользователя на их html сущности, то есть их заменители. Иначе, у вас в скрипте будет дыра, называемая XSS. Сделать замену можно с помощью функции htmlspecialchars(); В следующем уроке мы рассмотрим, что такое cookies, сессии, научимся немного работать с файлами. 3)Домашняя работа (решенные задачи отправляйте на [email=Revival1002@gmail.com]Revival1002@gmail.com[/email] я проверю) 1)Есть форма, состоящая из однострочных полей ввода, имя и фамилия. Скрипт должен обработать полученные от формы данные, и написать "Привет имя фамилия". Не забывайте, что пользователь может ввести не имя и фамилию, а вредоносный код, поэтому проводите замену спецсимволов. 2)Вы вводите в однострочное поле ввода текст, скрипт получает этот текст и выводит его задом наперед. Пример решения задачи: Есть форма Логин и Пароль. В переменной $passS храниться хеш пароля, а в переменной $loginS - логин пользователя . Если пользователь правильно вводит логин и пароль, надо вывести "Привет, $loginS", в противном случае, послать нафиг. Форма:
[u][/u][link=http://december.com/html/4/element/html.html]<html[/link]
[link=http://december.com/html/4/element/head.html]<head>[/link][link=http://december.com/html/4/element/title.html]<title>[/link]Форма</title></head>
[link=http://december.com/html/4/element/body.html]<body>[/link]
[link=http://december.com/html/4/element/form.html]<form[/link] action="ex.php" method="POST">
LOGIN:&nbsp;[link=http://december.com/html/4/element/input.html]<input[/link] name="login" value="Имя">[link=http://december.com/html/4/element/br.html]<br>[/link][link=http://december.com/html/4/element/br.html]<br>[/link]
PASS:&nbsp;[link=http://december.com/html/4/element/input.html]<input[/link] type="password" name="pass">[link=http://december.com/html/4/element/br.html]<br>[/link]
[link=http://december.com/html/4/element/input.html]<input[/link] type="submit" value="Отправить">
</form>
</body>
</html>[/align] ex.php
<?php
$loginS="admin";
$passS="21232f297a57a5a743894a0e4a801fc3"; //хеш пароля 'admin'
$login=$_POST['login']; //Получаем данные из формы
$pass=$_POST['pass'];
if (($loginS==$login) and ($passS==[link=http://www.php.net/md5]md5[/link]($pass))) //Сравниваем логин и хеш пароля
{
[link=http://www.php.net/echo]echo[/link] 'Привет, '.$loginS.'!'; //Привет, admin
}
else
{
[link=http://www.php.net/echo]echo[/link] 'Иди нафиг. Я тебя не знаю';
}
?>
4)Завершение Надеюсь в этот раз ДЗ будет выполнено. Успеха в изучении PHP. В воскресенье-понедельник ждем следующий урок:)
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 14:22:21.603333
|
|
|
mirand
Сообщений: 37
Оценки: 0
Присоединился: 2009-07-23 14:42:19.030000
|
Revival1002 Спасибо :) клевые уроки8|, книжки читать:@ лень че то, а так по чуть чуть интересно :D
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 15:28:03
|
|
|
Smelo
Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
|
http://www.php.ru/manual/introduction.html
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 17:18:56.993333
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Самый хороший учитель/самоучитель/наставник/преподаватель - это справочник! Крайне-просто и максимально-информативно! Зачем уроки!?!… Это же не танцы, где нужно показывать, как красивее попой двигать….)) …Единственное что нужно объяснить новичку, это как к Апачу прикрутить php и mysql, что бы было в чём работать. Так что я думаю достаточно одного урока, а дальше лучше не мешать)
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 18:11:58.016666
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
интересно. Орб, я насчёт твоих замечаний не совсем согласен.. новичку было бы понятнее именно так как написал Revival1002
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 19:18:04.776666
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
quote:
Спасибо :) клевые уроки8|, книжки читать:@ лень че то, а так по чуть чуть интересно :D Спасибо quote:
http://www.php.ru/manual/introduction.html quote:
Самый хороший учитель/самоучитель/наставник/преподаватель - это справочник! Крайне-просто и максимально-информативно! Зачем уроки!?!… Это же не танцы, где нужно показывать, как красивее попой двигать….)) …Единственное что нужно объяснить новичку, это как к Апачу прикрутить php и mysql, что бы было в чём работать. Так что я думаю достаточно одного урока, а дальше лучше не мешать) Кому то удобнее читать справочник, кому то книгу, а кому то заниматься по урокам. ИМХО кому как. p.s. Agent Smith, mr_Anderson - не топик, а матрица. (шучу) quote:
интересно. Орб, я насчёт твоих замечаний не совсем согласен.. новичку было бы понятнее именно так как написал Revival1002 Ну несколько ошибок действительно были, я исправил. Тем более, с течением времени, я исправляю и дополняю уроки. Но думаю те ошибки, которые были не сказались бы очень критично на знаниях человека. Вообще, лучше учится по нескольким учебникам\справочникам\сборникам уроков, чтобы узнать точки зрения нескольких авторов и уточнять некоторые моменты. Спасибо.
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 19:41:53.303333
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
quote:
Но думаю те ошибки, которые были не сказались бы очень критично на знаниях Нельзя судить о последствиях, самому не осознавая параметров "кретичности" (ошибка в последнем слове сделана специально)
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 20:06:10.540000
|
|
|
VaddeR
Сообщений: 3
Оценки: 0
Присоединился: 2009-12-06 14:24:39.590000
|
Revival1002 А у тя есть свой сайт?
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 20:29:17.773333
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
quote:
Кому то удобнее читать справочник, кому то книгу, а кому то заниматься по урокам. ИМХО кому как. Конечно эти уроки обязательно окажутся кому то полезными, но больше всего пользы они принесут самому автору;) Ведь в процессе создания этих уроков он сам многому учится - работает над своими ошибками, узнаёт новое, в общем оттачивает своё мастерство. Можно даже такой метод включить в программу этих уроков) Пусть будет такой урок - "Научился сам - поучи другого". Например каждый пятый. Вместо экзамена. По материалу пройденых уроков научить другого чела тому же, что сам освоил. А лучше двух человек - что бы пирамида получилась, типа финансовой, но только образовательная) Так очень-очень быстро все-все-все программистами PHP станут и матрица будет повсюду - когда мы смотрим телевизор, когда ходим в церковь…)))
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 20:37:59.723333
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
quote:
Revival1002 А у тя есть свой сайт? Есть, я писал. Вернее это не совсем сайт, а так личный блог для близких друзей и знакомых. Да и записи я там делаю редко, последняя была 1-2 сентября. А так, эти же уроки, но в более приемлимом виде я публикую на сайте своего знакомого - http://www.sigel.ru/ quote:
Конечно эти уроки обязательно окажутся кому то полезными, но больше всего пользы они принесут самому автору;) Ведь в процессе создания этих уроков он сам многому учится - работает над своими ошибками, узнаёт новое, в общем оттачивает своё мастерство. Можно даже такой метод включить в программу этих уроков) Пусть будет такой урок - "Научился сам - поучи другого". Например каждый пятый. Вместо экзамена. По материалу пройденых уроков научить другого чела тому же, что сам освоил. А лучше двух человек - что бы пирамида получилась, типа финансовой, но только образовательная) Так очень-очень быстро все-все-все программистами PHP станут и матрица будет повсюду - когда мы смотрим телевизор, когда ходим в церковь…))) Вы меня раскололи:D Целями данных уроков является не только научить других чему-то, но и лучше, глубже разобраться самому. А насчет "Научился-сам, научи другого" интересная затея. Надо обязательно попробовать. Но главное вовремя исправлять ошибки в предыдущих уроках, чтобы они не переходили от одних людей к другим.
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 20:52:50.390000
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
quote:
Но главное вовремя исправлять ошибки в предыдущих уроках, чтобы они не переходили от одних людей к другому Ну чем больше людей будет пользоваться методами, содержащими ошибки, тем скорее эти ошибки будут обнаруживаться. Ученики будут одновременно и тестировщиками) Главное что бы обратная связь хорошо работала и все недоразумения оперативно всплывали)
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-08 22:05:48.356666
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
quote:
ORIGINAL: codeismy.name интересно. Орб, я насчёт твоих замечаний не совсем согласен.. новичку было бы понятнее именно так как написал Revival1002 Да. Новичок поймет, то что говорил ТС, но проблема заключается в том, что автор, объясняя, допускает ошибки. Одно дело понять, что тебе говорят, а другое дело - является ли истиной, то что тебе говорят?
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-09 06:55:57.493333
|
|
|
mirand
Сообщений: 37
Оценки: 0
Присоединился: 2009-07-23 14:42:19.030000
|
Revival1002 удобнее когда кто нибудь объясняет :) quote:
ORIGINAL: Smelo http://www.php.ru/manual/introduction.html Спасибо:)
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-09 14:20:14.016666
|
|
|
Samson007
Сообщений: 44
Оценки: 0
Присоединился: 2009-05-06 20:32:34.296666
|
За Денвер спасибо… Давно искал такой комплект. Но всё же предпочту учиться по книженции)
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-09 16:17:09.510000
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
quote:
Да. Новичок поймет, то что говорил ТС, но проблема заключается в том, что автор, объясняя, допускает ошибки. Одно дело понять, что тебе говорят, а другое дело - является ли истиной, то что тебе говорят? Но ведь я исправляю ошибки, пусть и с помощью критики. Только плохо, когда она грубо выражена. Настроение портится. quote:
За Денвер спасибо… Давно искал такой комплект. Странно, Денвер по моему один из часто используемых наборов дистрибутивов.
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-09 18:15:21.670000
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
quote:
Странно, Денвер по моему один из часто используемых наборов дистрибутивов. у меня TopServer 2.1
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-15 16:21:33.603333
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
Урок 4. Сессии и cookies Так потихоньку, мы добрались до 4 урока, посвященному сессиям и cookies. Все замечания и неточности пишите в личку, я исправлю. Ну начнем 1)Что такое и с чем это едят? Допустим вы авторизовались на каком то сайте. Как же, когда вы переходите на другую страницу или вообще закрываете браузер, при возвращении на страницу вы остаетесь все равно авторизованным? Все дело в cookies. Cookies - это файлы хранимые на компьютере пользователя, и передаваемые серверу веб-браузером. Создает эти файлы сервер. Таким образом можно организовать аутентификацию на сайте, проверку не голосовал ли пользователь в опросе ранее (хотя тут применять cookies не желательно). 2)Как их использовать? Для начала следует установить cookies, с помощью функции setcookie(имя, значение, время по истечении которого cookies станут не действительны, путь по которому доступен cookies, доступен ли cookies не по запросу https) Самым простым примером, при изучении cookies обычно является скрипт, считающий сколько раз вы посетили страничку.
<?
$_COOKIE['i']++;
setcookie("i",$_COOKIE['i']);
echo $_COOKIE['i'];
?> Как видите создать cookies очень просто. Вы можете хранить в них логин и хеш пароля пользователя (хотя лучше хранить другие данные, если хешем завладеет злоумышленник, он может расшифровать хеш, если пароль пользователя простой) либо вы можете хранить другие данные позволяющие 100% определить пользователя и при следующем заходе на сайт считать эти данные и авторизовать пользователя автоматически. Но следует учитывать что cookies могут быть выключены в настройках браузера некоторых пользователей. Теперь о сроке давности cookies. Если вы пропускаете параметр, то время по умолчанию - 1 сеанс, то есть пока пользователь не закроет браузер. Для установки срока годности cookies применяют функции time() и mktime();
<?php
setcookie("i", $_COOKIE['I'], time() + 60); //Действие прекращается через минуту
setcookie("i", $_COOKIE['I'], mktime(0,0,0,01,20,2010)); //До 20 января 2010 года (мой ДР :))
?> Для удаления cookies пишем setcookie(имя удаляемого cookies); 3)Сессии Сессия это группа переменных, хранящиеся после выполнения скрипта. В отличие от кукис не хранятся на компьютере пользователя. Но вам выдается специальный идентификатор сессии (переменная PHPSESSID), он позволяет однозначно отличить вас от других пользователей. Идентификатор хранится либо у вас в кукис, либо передается через обычный GET/POST запрос, в зависимости от настроек вашего сервера. Чтобы работать с сессиями, сначала нужно их открыть с помощью функции session_start(); А дальше проще чем с кукис. Передаем суперглобальному массиву $_SESSION нужную нам информацию. Например:
<?php
session_start();
$_SESSION['name']="Zhenya";
$_SESSION['surname']="Ivanov";
?> А потом можно достать так:
<?php
session_start();
Echo $_SESSION['name'];
Echo $_SESSION['surname'];
?> Чтобы завершить сессию, разрегистрируем все переменные с помощью функции unset(); и вызовем session_destroy();
<?php
session_start();
unset($_SESSION['name']);
unset($_SESSION['surname'];
session_destroy();
?> Как видите все просто. 4)Домашняя работа 1)Сделайте 3 страницы. На первой - форма, в которую надо ввести имя и фамилию. Эти данные передаются следующему скрипту, в котором регистрируется сессия и заносятся имя и фамилия. А в третьем, эти данные выводятся и сессия завершается. 2)Сделайте форму для опроса. Если человек уже вводил свои данные в течении 5 минут, то выдает - "Вы больше не можете поучаствовать в опросе", в другом случае, скрипт выводит эти данные. 5)Завершение В общем планируется сделать примерно 20 уроков. Хотя это и будет далеко не все, но уже нормальная база для дальнейшего обучения. Но так как я не вижу, кому нужны уроки, занимается ли кто-нибудь по ним, то следующий урок выложу, когда мне на e-mail: [email=Revival1002@gmail.com]Revival1002@gmail.com[/email] придет хотя бы 3 домашних задания (не важно из каких уроков), от 3 человек (когда я написал статью, на ящике было уже 2 ДЗ ). p.s. В этом уроке я хотел параллельно рассказать о работе с файлами, но из-за небольших проблем со здоровьем (уже все ок), выход урока отложился и написать получилось меньше.
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-15 22:55:48.513333
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Прочитал уроки по диагонали. Есть замечания: Урок 3. quote:
Передавая пароли следует их хешировать. Одним из популярнейших алгоритмов хеширования является md5, примените к паролю перед передачей функцию md5() и сравнивайте хеши паролей. Что сие означает? Поясните мысль, когда и где и в каких случаях надо зашифровывать пароли через md5. Урок 4. quote:
Cookies - это файлы хранимые на компьютере пользователя, и передаваемые серверу веб-браузером. Создает эти файлы сервер. Ну, строго говоря, создаются они браузером на основе заголовков, пришедших от сервера. И браузер передает на сервер не файлы, а заголовки, в которые помещены значения куков. quote:
Сессия это группа переменных, хранящиеся после выполнения скрипта. В отличие от кукис не хранятся на компьютере пользователя. Но надо указать, что идентификатор сессии хранится все-таки в куках пользователя.
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-16 07:34:10.466666
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
quote:
ORIGINAL: horiz Прочитал уроки по диагонали. Есть замечания: Урок 3. quote:
Передавая пароли следует их хешировать. Одним из популярнейших алгоритмов хеширования является md5, примените к паролю перед передачей функцию md5() и сравнивайте хеши паролей. Что сие означает? Поясните мысль, когда и где и в каких случаях надо зашифровывать пароли через md5. Урок 4. quote:
Cookies - это файлы хранимые на компьютере пользователя, и передаваемые серверу веб-браузером. Создает эти файлы сервер. Ну, строго говоря, создаются они браузером на основе заголовков, пришедших от сервера. И браузер передает на сервер не файлы, а заголовки, в которые помещены значения куков. quote:
Сессия это группа переменных, хранящиеся после выполнения скрипта. В отличие от кукис не хранятся на компьютере пользователя. Но надо указать, что идентификатор сессии хранится все-таки в куках пользователя. 1)К этому еще вернемся, когда будем делать форму регистрации и авторизации (через пару уроков). На примере там будет понятнее. 2) Я старался объяснить попонятнее :)
|
|
|
RE: Уроки по PHP для новичков. - 2009-12-21 19:06:09.156666
|
|
|
Revival1002
Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
|
Следующий урок готов. Жду третьего сделанного ДЗ и выкладываю урок.
|
|
|
RE: Уроки по PHP для новичков. - 2010-01-23 22:12:43.106666
|
|
|
Dmitry T.
Сообщений: 6
Оценки: 0
Присоединился: 2009-08-04 13:17:33.726666
|
Не плохо.. oRb 8|
|
|
|
RE: Уроки по PHP для новичков. - 2010-01-24 19:38:03.916666
|
|
|
Re.Spawn
Сообщений: 16
Оценки: 0
Присоединился: 2009-06-07 23:59:23.790000
|
Моё мнение,изучать языки программирования нужно по книжкам, а не по статьям форума,т.к. в книге может быть намного "понятней",чем на форуме +) Вы просто наверное не те книги читали … Намного продуктивней было бы создать список качественных учебников для новичков. От себя посоветую "Лаура Томсон,Люк Веллинг РНР и Муsql". Просто,доступно,со множеством примеров. Книга не претендует на полный курс,но какие то азы даёт. И желание продолжать не отобьёт… =)
|
|
|
|
|