-Приложения

  • Перейти к приложению Открытки ОткрыткиПерерожденный каталог открыток на все случаи жизни
  • Перейти к приложению Я - фотограф Я - фотографПлагин для публикации фотографий в дневнике пользователя. Минимальные системные требования: Internet Explorer 6, Fire Fox 1.5, Opera 9.5, Safari 3.1.1 со включенным JavaScript. Возможно это будет рабо
  • Все на карте

 -Поиск по дневнику

Поиск сообщений в Net-man

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 20.04.2010
Записей: 814
Комментариев: 5985
Написано: 11575


Уроки по PHP: Внешние переменные (переменные вне PHP)

Четверг, 19 Мая 2011 г. 21:50 + в цитатник

Web-программирование в большей части представляет собой как раз обработку различных данных, введенных пользователем — т. е., обработку HTML-форм.
Пожалуй, нет другого такого языка, как PHP, который бы настолько облегчил вам задачу обработки и разбора внешних переменных, т.е. переменных, которые поступили из HTML-форм (из браузера пользователя). Дело в том, что в язык PHP встроены все необходимые возможности, так что вам не придется даже и задумываться над особенностями протокола HTTP и размышлять, как же происходит отправка и прием POST-форм или даже загрузка файлов.Разработчики PHP все предусмотрели.

Здесь мы не будем подробно останавливаться на механизе работы протокола HTTP, который отвечает за доставку данных из браузера на сервер и обратно, этому посвящен специальный раздел PHP и HTTP. Там же глубоко рассмотрены принципы работы с HTML-формами.

Сейчас мы рассмотрим эти механизмы лишь с прикладных позиций, не углубляясь в теорию.

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

А теперь попробуем написать сценарий, который принимает в параметрах имя пользователя и выводит:

"Привет, <имя>!".

Сначала рассмотрим наиболее простой способ передачи имени сценарию — непосредственный набор его в URL после знака ? — например, в формате name=имя. Вот пример:

http://localhost/script.php?name=имя

Наш сценарий должен распознать параметр name. То есть, говоря проще, сценарий (скрипт) должен принять параметр name в виде переменной name, а затем вывести в браузер пользоватея строку "Привет, <имя>!". Сделать это можно таким образом:

Пишем скрипт, принимающий параметр name и выводящий результат в браузер пользователя, а затем сохраняем его под именем script.php:

<?php
echo "Привет, {$_GET['name']} !";
?>

В нашем примере мы использовали предопределенную переменную $_GET['name'], чтобы "принять" параметр name. Теперь, передав через GET-запрос параметр name=Саша, мы получим следующий результат:

Привет, Саша !

А теперь попробуем передать параметр name не из строки запроса браузера, а через HTML-форму. Создаем HTML-документ следующего содержания:

<form action="http://localhost/script.php" method="GET">
Name: <input type=text name=name><br><input type=submit value="GO!">
</form>

Теперь сохраним данный HTML-документ на нашем тестовом сервере (localhost) под именем send.html в той же директории, где у нас уже сохранен сценарий script.php.

Теперь запускаем HTML-документ в браузере:

http://localhost/send.html

Вводим имя в поле и нажимаем кнопку "GO!". Форма передаст через GET-запрос параметр name нашему скрипту script.php. Если вы все сделали правильно и ваш web-сервер работает нормально, вы увидете введенное вами в поле формы имя! В адресной строке браузера вы увидете путь и переданный вами параметр name.

Теперь мы должны понять, как мы можем передать множество параметров, для начала хотя-бы два.

Итак, нам нужно, чтобы скрипт выводил следующее:

"Привет, <имя>! Вам <возраст> лет!".

То есть нам нужно передать в скрипт 2 параметра: name и age.

Теперь мы напишем скрипт script.php, принимающий два параметра: name и age, а также HTML-документ с формой, которая эти два параметра будет передавать в наш новый скрипт:

<?php
echo "Привет, {$_GET['name']} ! Вам {$_GET['age']} лет !";
?>

А вот и HTML-документ send.html, с помощью которого мы параметры name и age передадим нашему скрипту:

<html><body>
<form action="script.php">
Введите имя: <input type=text name="name"><br>
Введите возраст: <input type=text name="age"><br>
<input type=submit value="GO!">
</form>
</body></html>

Теперь наш скрипт принимает два параметра name и age и выводит в браузер результат формата: "Привет, <имя>! Вам <возраст> лет!".

Обратите внимание на адресную строку браузера после передачи параметров сценарию, она будет выглядить примерно следующим образом (без URL-кодирования кириллицы):

http://localhost/script.php?name=Саша&age=23

В зависимости от установок вашего интерпретатора, существует несколько способов доступа к данным из ваших HTML-форм. Вот несколько примеров:

<?php
// Доступно, начиная с PHP 4.1.0

echo $_GET['username'];
echo $_POST['username'];
echo $_REQUEST['username'];

import_request_variables('p', 'p_');
echo $p_username;

// Доступно, начиная с PHP 3. Начиная с PHP 5.0.0, эти длинные предопределенные
// переменные могут быть отключены директивой register_long_arrays.

echo $HTTP_GET_VARS['username'];

// Доступно, если директива PHP register_globals = on. Начиная
// с PHP 4.2.0, значение по умолчанию register_globals = off.
// Использование/доверие этому методу непредпочтительно.

echo $username;
?>

Подробно о формах, методах передачи параметров в PHP сценарии можно найти здесь

Подробную информацию по протоколу HTTP, по методам передачи запросов GET и POST вы можете найти здесь

PHP.SU">
Рубрики:  Полезное
Уроки по PHP
Метки:  

Процитировано 1 раз

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку