Передача параметров PHP-программ. Методы GET и POST

Практическая работа по предмету «Web-программирование»
Информация о работе
  • Тема: Передача параметров PHP-программ. Методы GET и POST
  • Количество скачиваний: 15
  • Тип: Практическая работа
  • Предмет: Web-программирование
  • Количество страниц: 7
  • Язык работы: Русский язык
  • Дата загрузки: 2014-09-18 01:12:09
  • Размер файла: 75.82 кб
Помогла работа? Поделись ссылкой
Информация о документе

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

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

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

Практическая работа № 6

Тема «Передача параметров PHP-программ.
Методы GET и POST»

Цели работы:
 познакомиться с методом Get;
 познакомиться с методом Post.
CGI (Common Gateway Interface) – общий интерфейс шлюза, используемый для «общения» Web-клиентов (браузеров) с Web-серверами. Пользователь запускает браузер и вводит следующий URL:
http: server.ru/example.html?name=Ivan
При получении такого URL Web-сервер пытается найти и запустить программу example.html, передав ей на стандартный ввод параметры, указанные пользователем. Программа запускается и обрабатывает полученные параметры. Затем она выводит результат обработки параметров на стандартный вывод. Web-сервер перехватывает вывод программы и отправляет его в браузер пользователя. Пользователь видит результат выполнения программы.
Существует два метода передачи сценариям параметров: GET и POST.
Метод GET
Пусть есть сценарий example.php, которому нужно передать параметр name:
http: server.ru/example.php?name=Ivan
Браузер выделяет из введенного URL протокол http, имя сервера server.ru, имя сценария example.php, ? - символ разделения между адресом и блоком с переменными. Затем браузер устанавливает подключение с сервером по заданному протоколу и передает запрос: GET example.php HTTP
У метода GET все параметры передаются через строку адреса браузера, максимальная длина строки не более 255 символов (8 КБ).
Метод POST
Передаваемые данные не отображаются в окне браузера. Передаваемые сценарию данные отображаются уже после самого запроса.
Метод POST используется для передачи больших объемов данных, например файлов.
При разработке и отладке приложений, чаще используют метод GET. При завершении и выпуске приложения в свет, лучше изменить представление на метод POST, в целях безопасности и неограниченности объёма передачи информации.
Если не прописать метод, то браузер по умолчанию будет использовать метод GET.

Задание 1. Передача параметра методом GET
1. Создать в блокноте html-форму hello.html, следующего содержания:
<form action=http://FIO.ru/Forma.php method=get>
Введите ваше имя: <input type=text name=name>
Введите Ваш возраст: <input type=text name=age>
<input type="submit" value="OK">
</form>
В окне браузера форма будет выглядеть:

Как только пользователь введет данные и нажмет кнопку ОК, форма методом GET передаст параметры сценарию Forma.php.
2. Создать в блокноте документ Forma.php, следующего содержания:
<?php
// проверка: переданы параметры кнопкой?
if (!isset($_GET[send])) {
// выводим форму из hello.html
echo file_get_contents(http://FIO.ru/hello.html);
//и прерываем выполнение сценария
//die();
}
//обрабатываем параметры
echo Здравствуйте, ;
echo $_GET[name];
echo <br>;
echo Вам .$_GET[age]. лет;
?>
С помощью функции isset(имя_переменной) можно проверять существование переменных. Функция возвращает true (истина) в случае существования и false (ложь) в противном случае.
В окне браузера в URL отображаются значения передаваемых переменных:


Задание 2. Передача параметра методом POST
1. Изменить способ передачи данных на метод POST:
Файл hello.html:
<form action=http://FIO.ru/Forma.php method=post>
Введите ваше имя: <input type=text name=name>
Введите Ваш возраст: <input type=text name=age>
<input type="submit" value="OK">
</form>
Файл Forma.php:
<?php
// проверка: переданы параметры кнопкой?
if (!isset($_POST[send])) {
// выводим форму из hello.html
echo file_get_contents(http://FIO.ru/hello.html);
//и прерываем выполнение сценария
//die();
}
//обрабатываем параметры
echo Здравствуйте, ;
echo $_POST[name];
echo <br>;
echo Вам .$_POST[age]. лет;
?>
В окне браузера в URL не отображаются значения передаваемых переменных:

Задание 2. Проверка параметров передачи
Переключатели
1. Создать файл FORM_6_2.html:
<form action=http://FIO.ru/Check.php method=GET>
<input type= checkbox value=yes name=subscr checked>
Да, я хочу получать рассылку
<br>
<input type= checkbox value=yes name=email checked>
Да, я хочу получать сообщения от других пользователей
</form>
2. Создать файл Check.php для проверки передачи параметра:
<?php
if (!isset($_GET[send])) {
echo file_get_contents(http://FIO.ru/ FORM_2_1.html);
//die();
}
//обработка параметров
if (isset($_GET[subscr]))
echo Пользователь хочет получать рассылку сайта;
echo <br>;
if (isset($_GET[email]))
echo Пользователь хочет получать сообщения пользователей;
?>
Флажки
1. Изменить файл FORM_2_1.html:
<form action=http://FIO.ru/ Radio.php method=GET>
<input type=radio value=male name=sex checked> Мужчина
<input type=radio value=female name=sex> Женщина
<input type="submit" value="OK">
</form>
2. Создать файл Radio.php для проверки передачи параметра:
if (isset($_GET[sex])) {
if ($_GET[sex] === "male") echo "Мужчина";
else echo "Женщина";
}

Списки выбора
1. Создать файл FORM_6_3.html:
<form action=http://FIO.ru/ Spiski.php method=GET>
<p> Выберите год:
<select name=year size=1>
<option value=2014>2014</option>
<option value=2013>2013</option>
<option value=2012>2012</option>
<option value=2011>2011</option>
<option value=2010>2010</option>
</select>
<p>Какая операционная система у вас установлена?
<p><select name=os[] size=3 multiple>
<option value=xp>Windows</option>
<option value=vista>Windows Vista</option>
<option value=linux>Linux</option>
</select>
</form>
2. Создать файл Radio.php для проверки передачи параметра:
if (isset($_GET[ year]))
echo ($_GET[ year];
//Проверка, является ли &os массивом
$_os = $_GET[os];
if (is_array($os)) {
foreach ($os as $key => $value) {
echo "$value<br>";
}
}
Кнопки
1. Создать файл FORM_6_4.html:
<form action=http://FIO.ru/ Knopki.php method=GET>
<input type=submit name=add value=Добавить>
<input type=submit name=delete value=Удалить>
</form>
2. Создать файл Knopki.php для проверки передачи параметра:
//определить, какую кнопку нажал пользователь
If (isset ($_GET[‘add’])) {
echo “Пользователь нажал кнопку Добавить” }
If (isset ($_GET[‘delete’])) {
echo “Пользователь нажал кнопку Удалить” }

Самостоятельная работа
Задание 1
1) Создать форму для ввода данных: имя, год рождения, логин и email. На форме разместить кнопку Отправить для передачи данных.
2) Создать php-файл для вывода данных: имя, возраст, логин и email. Год рождения необходимо проверить на допустимый диапазон значений: 1900…«текущий год».
Задание 2
Создать игру на PHP: Угадайте число в диапазоне от 0 до 100!


Создать html-файл, содержащий форму. На форме расположить текстовое поле, скрытое поле и кнопку.
Создать php-файл угадывающий загаданное число.
В текстовое поле игрок будет вводить число, и нажимать кнопку Угадать. Скрытое поле будет храниться загаданное число.
Исходный код:
<?php
$message = "Угадайте число в диапазоне от 0 до 100!"; //Устанавливаем сообщение по-умолчанию

if (isset($_POST["ugadat"])) { //Если данные были отправленны на сервер
//В переменную $chislo записываем данные полученные из текстового поля с именем chislo
$chislo = $_POST["chislo"];
//В переменную $hidden_chislo записываем данные полученные
//из скрытого поля с именем $hidden_chislo
$hidden_chislo = $_POST["hidden_chislo"];

//Если число из текстового поля меньше загаданного числа, то выводим сообщение
if ($chislo < $_POST["hidden_chislo"]) {
$message = "Загаданое число немножко больше $chislo";
}
//Если число из текстового поля больше загаданного числа, то выводим сообщение
elseif ($chislo > $_POST["hidden_chislo"]) {
$message = "Загаданое число немножко меньше $chislo";
} elseif ($chislo == $_POST["hidden_chislo"]) { //Если числа равны, то мы угадали!!
$message = "Ура! Вы победили! <br/> Загадано новое число!";
$hidden_chislo = rand(0, 100); //Загадываем новое число!
}
} else { //Если данные из формы не были отправлены
$chislo = 0; //Устанавливаем значение текстового поля по-умолчанию
$hidden_chislo = rand(0, 100); //Загадываем число
}
?>
<html>
<head>
<title>Дизайн студия OX2.ru - игра Угадай число</title>
</head>
</html>
<body>
<h2><?php echo $message; ?></h2>
<form method="post">
<input type="text" value="<?php echo $chislo ?>" name="chislo" />

<input type="submit" name="ugadat" value="Угадать" /><br/>

<input type="hidden" name="hidden_chislo" value="
<?php echo $hidden_chislo ?>" />
</form>
</body>
</html>
За выполненные задания:
Самостоятельная работа Баллы
Задание 1- Задание 2
Все задания + Сам. работа 1
Все задания + Сам. работа 2 3 балла
4 балла
5 баллов