Поиск
Ввод данных вручную
Необязательно передавать данные в сценарий только через HTMLформу, иног да возникает необходимость сделать это вручную. Если вы создали сценарий, печатающий имя пользователя в приветствии, вы можете создать переменную, которая содержит имя отдельно от приветствия. В этом случае легко изменить имя, не меняя приветствия, инструкцию print или сам сценарий. Напишем PHPсценарий, чтобы наглядно показать этот процесс.
Создание РНРсценария, выводящего на экран приветствие
- Создайте новый документ в текстовом редакторе.
- Сохраните документ (листинг 3.5) в файле с именем hetlo.php и загрузите его на сервер.
<HTMLxHEADxTITLE>Using Variables</TITLEx/HEADxBODYx?php
/* Эта страница может содержать строки с операторами print. */
Я вставил в сценарий два комментария на случай, если вдруг строка привет ствия станет частью более крупной и сложной страницы.
print ("<H2xCENTERxB>Hello, $FirstName.</Bx/CENTERx/H2xBR>\n") ;
/* Эта страница может содержать дополнительный код после оператора
—print. */
?> </BODYx/HTML>
Листинг 3.5 т Вместо написания страницы, автоматически выдающей при ветствие «Hello, World!» или «Hello, Larry!», мы создали динамическую страни цу, напечатав значение переменной Теперь, как только изменится значение, вид результирующей страницы станет иным.
1. <HTML>
2. <HEAD>
3. <TITLE>Using Variables</TITLEx/HEAD>
4. <BODY>
5. <?php
6. /* Эта страница может содержать.строки с операторами print. */
7. print ("<H2xCENTER><B>Hello, $FirstName.</Bx/CENTERx/H2xBR>\n") ;
8. /* Эта страница может содержать дополнительный код после оператора
print. */
9. ?>
10. </BODY>
11. </HTML>
Если вы просмотрите сценарий через браузер, то увидите на экране только запись "Hello, . " , так как переменная $FirstName не имеет значения. Есть два способа вручную задать это значение, без применения форм. Первый исполь зовать знание того, как метод GET передает данные в сценарий.
Использование метода СЕТ без HTMLформы
- Просмотрите сценарий hello.php в Webбраузере, зайдя по соответству ющему адресу URL (в нашем случае это http://www.DMCinsights.com/ php/hello.php (рис).
- Добавьте в конец URL текст ?FirstName = Larry (можете указать свое имя, главное, чтобы не было пробелов). Выше в данной главе («Получение дан ных из формы в РНР»), когда вы посылали переменную в сценарий через URL (то есть использовали метод GET в HTMLформе), мы уже использо вали этот формат www.url.com/script.php?variable=value.
- Перезагрузите страницу в браузере с новым адресом URL (рис).
Если вы не видите адрес в окне браузера, значит, была допущена ошибка. Проверьте наличие вопросительного знака " ?", отделяющего адрес файла от данных. Потом убедитесь в том, что правильно набрали переменную FirstName (учтите, что f irstname совсем другая переменная).
Второй способ предварительного присвоения значения переменной на прямую в сценарии.
Присвоение значения переменной
- Откройте файл hello.php в текстовом редакторе.
- На строке перед инструкцией print добавьте запись $FirstName =" Jude" , (листинг 3.6).
- Сохраните страницу, загрузите ее на сервер и просмотрите с помощью браузера (рис.).
- А теперь просмотрите эту страницу с помощью измененной версии URL, как это было сделано в последнем примере (http://www.DMCinsights.com/ php/hello.php?FirstName=Larry^ рис.
Листинг 3.6 т Строка $FirstName = "Jude"; задает значение "Jude" пере менной "FirstName" для этой страницы.
1. <HTML>
2. <HEAD>
3. <TITLE>Using Variables</TITLEx/HEAD>
4. <BODY>
5.<?php
6.$FiretName , "Jude";
7./* Эта страница может содержать строки с операторами print. */
8.print ("<H2xCENTERxB>Hello, $FirstName</Bx/CENTERx/H2xBR>\n") ;
9./* Эта страница может содержать дополнительный код после оператора
print.*/
10. ?>
11. </BODY>
12. </HTML>
Становится понятно, что происходит, когда переменной многократно при сваиваются значения: только последнее присвоенное значение сохраняется в переменной и выводится на экран в сценарии hello .php. Будьте вниматель ны, чтобы не присвоить значение какойнибудь переменной многократно! Способ предварительного присвоения значений переменным становится более значимым по мере расширения и усложнения программы. Использова ние легко редактируемых переменных означает, что вам никогда не потребует ся искать их в многочисленных строках кода для смены значения.
Таким же образом, добавив переменную к URL, можно связать одну страницу с другой динамически генерируемой страницей (такой как hello.php). Это мож но сделать, просто включив в ссылки на вашей Webстранице значения перемен ных, где необходимо. Например, формой на Webсайте может быть взято имя пользователя, которое затем передается на следующие связанные с формой стра ницы с помощью кода <А HREF = "hello.php?FirstName=Larry">hello.php</A>.