
22_Обработка форм, сеансы в PHP.pptx
- Количество слайдов: 12
Обработка форм. Сеансы
Инструменты для запуска webприложений Для запуска веб-приложений требуется веб-сервер и интерпретатор языка, на котором пишется программа Можно установить на локальный компьютер всё ПО по отдельности, но более простой способ – использование готовых пакетов серверных программ. Эти пакеты содержат веб-сервер (как правило, Apache), интерпретаторы языков для вебпрограммирования (PHP, Perl, иногда другие), сервер БД My. SQL Denwer – 5 мб, российская разработка XAMPP – 80 мб, проект Apache Friends, есть версии для разных ОС
Последовательность действий для запуска веб-приложений Установить пакет серверных программ, запустить его Проверить его работоспособность: открыть браузер и набрать адрес локального сервера – http: //localhost/ или http: //127. 0. 0. 1/ - должно появиться приветственное сообщение веб-сервера Если сообщение об успехе не появляется, значит серверы не запустились и требуется дополнительная настройка. Примечание: иногда мешают запущенные сетевые программы, например, Skype занимает порт № 80 Поместить сценарии (файлы) на PHP в корневую папку веб-сервера, кот. доступна через сеть (для XAMPP это папка htdocs). Можно создать подкаталог В браузере набрать адрес сценария - http: //localhost/ + путь к файлу и его имя. Например, в кат. htdocs создали папку test, а вней – hello. php. Тогда адрес этого сценария будет - http: //localhost/test/hello. php
Передача и приём параметров формы Параметры, переданные с помощью формы, могут быть обработаны с помощью PHP Для этого необходимо: У каждого элемента формы должно быть имя (присвоено значение атрибута name). Эти имена будут использованы для получения значений этих параметров в сценарии PHP Атрибут action тега <form> должен содержать URL программы-обработчика на PHP В PHP-сценарии значения переданных параметров можно получить из глобальных массив: $_GET – для получения параметров, переданных методом GET $_POST - для получения параметров, переданных методом POST $_REQUEST - для получения параметров, переданных любым методом
Пример формы <form action="process. php" method="post"> Имя: <input type="text" name="login" /><br /> Пароль: <input type="password" name="passwd" /><br /> Пол: <input type="radio" name="pol" value="M" checked />М <input type="radio" name="pol" value="G" />Ж<br /> Языки, кот. вы владеете: <input type="checkbox" name="eng" value="eng" />Английский <input type="checkbox" name="nem" value="nem" />Немецкий <input type="checkbox" name="c" value="c" checked />C++<br /> Город: <select name="city"> <option value="1" />Москва <option value="2" selected />Уфа </select><br /> <input type="submit" value="Зарегистрироваться" /><br /> </form>
Обработчик формы (process. php) <? php $login = $_REQUEST["login"]; $pas = $_REQUEST["passwd"]; $pol = $_REQUEST["pol"]; echo "Здравствуйте, $login!"; echo " Ваш пароль: $pas"; switch ($pol) { case "M" : echo " Вы - мужчина!"; break; case "G" : echo " Вы - женщина!"; break; default : echo " Вы ещё не определились? !"; break; } // работа с флажками if (isset($_REQUEST["eng"])) echo " Вы владеете английским"; if (isset($_REQUEST["nem"])) echo " Вы владеете немецким"; if (isset($_REQUEST["c"])) echo " Вы владеете С++"; // список $cities = array( 1=> "Москва", "Уфа" ); $city = $_REQUEST["city"]; echo " Ваш город - $cities[$city]"; ? >
Сохранение данных в PHP-скриптах Программа на PHP (скрипт) выполняется короткое время на сервере. После формирования вывода в браузер (передачи данных) и загрузки страницы, программа завершается, все её данные (переменные) уничтожаются Как сохранить данные? Несколько способов: сохранить их в файл на сервере, если это позволяют права доступа (есть право на запись). Используются функции fopen, fwrite, fread и т. п. сохранить данные в БД на сервере использовать сеансы (sessions, сессии)
Работа с сеансами в PHP Сеансы позволяют сохранять данные и использовать их в разных сценариях или многократно в одном сценарии при его повторном запуске Данные сохраняются как элементы глобального ассоциативного массива $_SESSION Для работы с данными сессии в PHP-сценарии первой функцией (в самом начале) должна быть вызвана функция session_start(); Для разных пользователей (посетителей) сайта будут созданы отдельные сессии
Сохранение данных Для сохранения данных можно использовать: функцию session_register, кот. сохраняет данные из переменной в сессию. Пример: $barney = "A big purple dinosaur. "; session_register("barney"); создать новый элемент (новый индекс) глобального массива $_SESSION. Пример: $_SESSION[“login”] = $login;
Извлечение данных Для извлечения данных можно использовать: обратиться к элементу (индексу) глобального массива $_SESSION. Пример: echo “Логин: “. $_SESSION[“login”];
Уничтожение данных сессии Сфера применения: удаление ненужных данных завершение работы пользователя в системе (например, выход из личного кабинета и т. п. ) Два способа: функция session_unregister - уничтожает указанный элемент сессии. Например, session_unregister(“login”) функция unset – уничтожает любую переменную или элемент массива. Например: unset($_SESSION[“login”]);
Уничтожение сессии функция session_destroy уничтожает все данные текущей сессии и завершает сессию после вызова этой функции обратиться к данным сессии будет нельзя Может быть использована при выходе пользователя из персональной части сайта
22_Обработка форм, сеансы в PHP.pptx