Белорусская цифровая библиотека




Нулевая страница
[ кодинг ]

[ Enter to PHP ]

Итак, мне захотелось написать об основах PHP , так как к нему сейчас очень большой интерес со стороны пользователей. Как же не так ведь PHP очень прост, гибок и многофункционален.

Чтобы изучить PHP не нужно много времени. Но мне думается, что ты знаешь уже какой-то язык программирования (например, BASIC ) и ты смыслишь обо всех тонкостях общения человека и машины.

Но это не значит, что если ты не знаешь ни одного из языков кодинга мол тебе не нужно браться за PHP , это не так. Сейчас самое время.

На самом деле в сети тоннами валяются статьи, доки про PHP , но мне тоже захотелось написать об этом вкратце.

Вот что мне удалось выяснить: “PHP был задуман где-то в конце 1994 года Расмусом Ледорфом (Rasmus Lerdorf). Ранние невыпущенные версии использовались на его домашней странице для того, чтобы следить за тем кто просматривал его интерактивное резюме. Первая используемая версия стала доступна где-то в начале 1995 и была известна как Personal Home Page Tools. Она состояла из очень упрощенного движка синтаксического анализатора, который понимал только несколько специальных макрокоманд и ряд утилит, которые затем были в общем, использовании на домашних страницах. Гостевые книги, счетчики и некоторые другие дополнения”.

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

PHP код легко интегрировать в HTML . Это облегчает работу парсеру и человеку. PHP код пишется с парой команд <? php ?> (наиболее популярный способ).

Например:

<html>

<body>

<?php

код php…

?>

< h 1>Привет!</ h 1>

<? php

еще php код…

?>

</ body >

</ html >

Команды пишутся построчно, и после команды пишется точка с запятой (;).

Все переменные (кроме глобальных) живут только в момент обработки парсером, потом они уничтожаются. И все переменные пишется со знаком $ впереди, и это дает возможность интеграции с текстом. И еще переменных не нужно объявлять.

Реальный пример: В basic ' e чтобы распечатать слово ‘Вы получили такой-то баллов' пришлось писать: print “Вы получили”+ a $+“баллов”, а в PHP print “Вы получили $ a баллов”; Разве не прекрасно?

HTML в страничку выводится при помощи функций print или echo (я так не узнал при их различии). Я использую print .

Как я упомянул ранее про облегчения кода, вот пример:

<a href=lalala.php?id=<?php print $id; ?>> Пример 1</a> легче , или

<?php print “<a href=lalala.php?id=$id> Пример 2</a>”; ?> легче ?

Конечно, первый пример, но здесь, наверное, не будет различий, но в больших проектах это ощутимо. И постарайся чаще использовать такой подход.

Итак, мы узнали, что в PHP код пишется построчно, после оператора ставится – “;”, переменные пишутся с “$” спереди, PHP код пишется внутри пары <? php ?>.

Теперь небольшой примерчик:

<html>

<body>

< h 1>Привет! Это моя первая страничка</ h 1>

<?php

$a=“ СКРИПТ ”;

print “<p> Меня зовут : $a”;

?>

</body></html>

Функций в php очень много и это сильно упрощает дело.

Например, чтобы экранировать все посторонние символы (“,',<,>) не нужно использовать оператор замены текста:

$string = ereg_replace("<","&lt;",$string);

$string = ereg_replace(">","&gt;",$string);

$string = ereg_replace('\\\"',"&quot;",$string);

$string = ereg_replace("\\\'","&quot;",$string);

А просто :

$string=htmlspecialchars($string);

Но их тебе всё ровно придется использовать:

$string = ereg_replace("\r","",$string);

$string = ereg_replace("\n","<br>",$string); /* замена enter' ов */

Как я убедился во многих ситуациях не надо изобретать велосипед;). Нужно только поискать.

Теперь расскажу о наиболее используемых функциях.

PRINT

print “текст”;

или

print ‘текст';

Различия в том, что при помощи апострофов можно писать запрещенные символы, например: \ $ “ т.п. А апострофы нужно экранировать символом бакслеш (\).

Например:

$a=“Hi!!!”;

print “$a\n ' \” ”;

print ‘$a\n ” \' ';

Hi!!! ' ”

$a\n ” '

Символ бакслеш используется для печати не печатаемых символов: \ n (перевод на новую строку), \” и т.п.

IF

IF – конечно это самый мощный инструмент во всех языках, так и в PHP .

Функция сравнения if :

if ($a>$b){print “a больше b”;}

Строки внутри {} выполняются, если выражения дает true .

Например:

$ a =0; $ b =2;

if ($b>$a){print “b больше a”;}

или

$a=true;

if ($ a ){ print “а истина”;}

IF .. ELSE

С IF можно использовать выражения else , т.е. в противном случае:

if ($b>$a){print “b больше a”;} else { print “b не больше a”;}

или

if ($a){print “ а истина ”;} else { print “ а ложь ”;}

IF .. ELSEIF

С IF можно использовать выражения elseif , т.е. в противном случае тогда.

if ($b>$a){print “b больше a”;}

elseif ($b==$a) { print “b равно a”;}

elseif ($b<$a) { print “b меньше a”;}

Следует отметить, что elseif будет выполняться, если предыдущая структура равно false .

В выражениях можно использовать:

== - равно

!= , <> - не равно

>,< - больше, меньше

=>,=< - равно или больше, равно или меньше

&& - и (true&&true=true, true&&false=false)

|| - или (true||true=true, true||false=true, false||true=true)

! - не (!true=false, !false=true)

Пример:

$ a =1; $ b =2;

if ($ a ==1&&$ b ==2){ print “выполняется”;} /* положительный результат */

if ($ a ==1|| b ==3){ print “выполняется”;} /* положительный результат */

if (!$ a ==2){ print “выполняется”;} /* положительный результат */

FOR

Цикл FOR к и во всех других языках.

Оператор цикла for :

for($i=0;$i<15;$i++){

print “<p>$i”;}

перевод на человеческий: переменная $ i равно 0, делай если $ i меньше 15, увеличивая $ i на единицу.

Инкремента ++ увеличивает на единицу.

Декремента -- уменьшает на единицу.

Это процедура выполнится 15 раз, с 0 до 14.

WHILE

Оператор цикла while

$ i =0;

while ($i<5){$i++;

print “<p>$i”;

}

Это процедура выполнится 5 раз, с 1 до 5.

перевод на человеческий: делай, если $ i меньше 5, увеличивая $ i на единицу.

Но предупрежу: если что-то пойдет не так, то цикл будет выполняться бесконечно и компьютер пойдет в доун.

Теперь напоследок пример работы с передачей параметров, например для гостевой книги. Существует два вида метод POST и GET я тебе рекомендую использовать POST так как его легче использовать и еще какие та другие особенности есть. Поверь мне… лучше использовать POST .

И так передающая страничка должно иметь HTML код с формой:

<form method=post action=index.php>

<p> Ваше имя : <input type=text name=name maxlength=10>

<p> Размер сапог : <input type=text name=size maxlength=10>

<p> Ваш пароль : <input type=password name=pass>

<p> Текст <textarea name=text></textarea>

<input type=submit value= ДА !!!>

</form>

Или тому подобное. Надеюсь, ты знаешь HTML ? Если нет теги сами говорят за себя. Или лучше использовать эдиторы типа AceHTML , CuteHTML , Macromedia Dreamweaver их ты с легкостью найдешь.

Короче, после этих движений этот запрос будет идентичен index . php ? name =…& size =…& pass =…& text =…

Данные передаются по методу POST , т.е. через адресную строку браузера.

А теперь сам index . php . И эту форму можно запихнуть туда же, т.е. страничка будет вызывать сама себя.

<html><body>

<?php

if (isset($name)){

print "<p>Ваше имя: $name";

print "<p>Размер сапог: $size";

print "<p>Ваше пароль: $pass";

print "<p>Текст: $text";

}

?>

<form method=post action=index.php>

<p>Ваше имя: <input type=text name=name maxlength=10>

<p>Размер сапог: <input type=text name=size maxlength=10>

<p>Ваш пароль: <input type=password name=pass>

<p>Текст<textarea name=text></textarea>

<input type=submit value=ДА!!!>

</ form >

</ body ></ html >

Теперь понимаешь, как это работает? Когда после скрипты ставят знак ? и потом идет имя переменной то этот скрипт обрабатывает данные, т.е. создается такая переменная. И потом в PHP можно смело его использовать. Для этого нужно проверить объявлена ли она с функцией isset .

Теперь можешь смело создавать свою гостевуху, чат, форум, или поисковик *).

Вот что хотел тебе рассказать. Но это мизерная часть. Остальную инфу можно черпать из других источников, например я тебе посоветую использовать PHP манул, я тоже его использую, так как там есть все функции PHP . Удачи, и не останавливайся на достигнутом!

[ impulse@mail.kz ]
www.toolza.freenet.kz


 



@ library.by