Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1. Основы РНР.doc
Скачиваний:
8
Добавлен:
01.05.2025
Размер:
239 Кб
Скачать
☆

3. Программное обеспечение.

Для тестирования и настройки программ необходимо установить на компьютер специальное программное обеспечение, которое можно получить бесплатно с сайтов производителей:

  • Web-сервер Apache —доступен по адресу www.apache.org.

  • Интерпретатор РНР — можно загрузить по адресу www.php.net.

  • MySQL —можно загрузить по адресу www.mysql.com.

  • phpMyAdmin — набор скриптов на РНР для управления базами данных. Можно загрузить по адресу www. phpmyadmin.net

Вместо установки и ручной настройки всех этих программ можно установить систему Денвер. Можно скачать с сайта www.denwer.ru.

Базовый пакет Денвера включает:

  • Web-сервер Apache,

  • Интерпретатор РНР,

  • MySQL,

  • phpMyAdmin,

  • miniPerl,

  • эмулятор программы Sendmail и SMTP-сервера.

Для редактирования сценариев можно использовать Блокнот, PHP Expert Editor (www.ankord.com/ru/) или другие редакторы.

3. Базовый синтаксис рнр

Все PHP-сценарии пишутся в виде блоков кода. Эти блоки при могут быть встроены в HTML, и обычно определяются с помощью специальных тегов:

Листинг 1.1. Теги PHP

<?php

…

?>

4. Операторы

Каждый оператор в PHP заканчивается разделителем «;». Операторы могут содержать переводы строк. В PHP используются простые операторы и составные. Составные операторы – это последовательность простых операторов заключенных в фигурные скобки. Составной оператор не оканчивается символом «;».

Листинг 1.2. Простые операторы

<?php

echo 5+5;

echo "Hello, world";

?>

Функция echo() применяется для вывода различной информации (текст, результат выполнения операции, теги HTML и т.д.) в браузер.

Листинг 1.3. Составной оператор

<?php

{

echo 5+5;

echo "Hello, world";

}

?>

Для вывода информации можно использовать также функцию print().

Синтаксис:

print (string arg)

Выводит arg. Возвращает TRUE при успехе, FALSE при неудаче. print() это в действительности не функция, а конструкция языка, поэтому с ней не обязательно использовать скобки.

Листинг 1.4. Функция print()

<?php

print("Hello, world");

print "эта функция работает также без скобок.";

?>

5. Комментарии

PHP предоставляет несколько методов для вставки комментариев. Комментарии PHP действуют только внутри тегов ограничителей PHP.

Листинг 1.5. Комментарии

<?php

echo 5+5; // это однострочный комментарий

echo 5-2; # и это однострочный комментарий

echo "Hello, world";

/*

а это многострочный

комментарий

*/

?>

6. Переменные

В РНР имена переменных всегда начинаются с символа «$» и содержат произвольную комбинацию символов, при условии, что первый символ после «$» будет буквой или знаком подчеркивания. Переменные в PHP чувствительны к регистру.

Листинг 1.6. Примеры переменных в РНР

<?php

$myvar = "foo"; // Присвоение строки 'foo'

badvar = "test"; //Неверно, нет символа $

$5php = "is wrong"; // Неверно, начинается с цифры

?>

7. Внешние переменные

Внешними переменными называются все переменные, которые поступают в программу из окружающего мира (предоставляются браузером и сервером). После того как запрос клиента проанализирован Web-сервером и передан PHP-интерпретатору, последний устанавливает ряд переменных, которые содержат данные, относящиеся к запросу.

Протокол HTTP, лежащий в основе Web, допускает передачу данных с помощью метода GET или POST. По умолчанию используется метод GET. Создадим html-форму (рис. 1) в файле index.php, которая будет состоять из одного текстового поля name и кнопки submit.

Рис 1. HTML-форма

Листинг 1.7. HTML-форма, передающая данные методом GET

<form method="GET">

<input type="text" name="Т1">

<input type="submit" name= "В1" value ="Send">

</form>

Если ввести в текстовое поле Hello и нажать кнопку Send, в результате никаких видимых изменений не произойдет, но строка адреса в браузере примет вид показанный на рис.2:

Рис.2. Передача данных методом GET.

Так как исходный файл называется index.php, то его название в строке адреса опущено. Таким образом, через строку адреса передаются GET-параметры. Если в Интернете вы видите строку, содержащую знаки вопроса и амперсанда, то перед вами передача параметров методом GET. Знак вопроса «?» после имени файла обозначает начало передача переменных методом GET. После него следуют пары имя=значение, разделенные символом амперсанда «&». В представленной строке передано два параметра с именами T1 и B1 и значениями Hello и Send соответственно. Получить доступ к GET-параметрам можно через суперглобальный массив $_GET, указав в квадратных скобках после него имя параметра.

Изменим файл index.php, так чтобы данные введенные в поле выводились сразу после HTML-формы.

Листинг 1.8. Вывод GET-параметров

<form method="GET">

<input type="text" name="Т1">

<input type="submit" name= "В1" value ="Send">

</form>

<?php

echo $_GET['Т1'];

?>

Результат работы скрипта из листинга 1.8. представлен на рис.2.

Рис.2. Вывод GET-параметра Т1.

В рассмотренном примере HTML-форма и обработчик находятся в одном файле. Такой подход является удобным, когда форма и обработчик небольшие. В большинстве случаев удобно размещать обработчик HTML-формы в отдельно файле, для этого в тег <form> необходимо добавить атрибут action, который укажет имя обработчика формы. Пусть в качестве обработчика будет использоваться файл second.php.

Листинг 1.9. Использование атрибута action

<form method=GET action = second.php>

<input type=text name=T1 >

<input type=submit name= B1 value ="Send">

</form>

Создав файл second.php, можно добиться того, чтобы данные из формы отправлялись обработчику в файл second.php.

Листинг 1.10. Обработчик second.php

<?php

echo $_GET[‘T1’];

?>

Передача данных методом GET не всегда является удобной, т.к.:

  • Пользователь может видеть значение параметров и легко подделывать их в строке запроса.

Объем передаваемой информации через GET-параметры ограничен (как правило 8 Кбайт).

GET-параметры передаются через НТТР-заголовки. Существует еще один способ передачи данных — передача через тело документа. Для этого предназначен метод POST. Чтобы передать данные из формы обработчику методом POST атрибуту method тега <form> необходимо присвоить значение POST.

Листинг 1.11. Передача данных методом POST

<form method=POST action = next.php >

<input type=text name=T1 >

<input type=submit name= B1 value ="Send">

</form>

Для получения POST параметров необходимо использовать суперглобальный массив $_POST.

Листинг 1.12. Обработчик next.php

<?php

echo $_POST['T1'];

?>

Результат работы скриптов из листингов 1.11 и 1.12 представлен на рис.3.

Как видно из рис. 3 в адресной строке уже нет никаких параметров, тем не менее, строка Hello выводится на странице.

Данные, передаваемые методом POST, также ограничены в объеме —8 Мбайт.

Рис.3. Передача данных методом POST.