Как сделать многостраничную html форму

Как сделать многостраничную html форму

Допустим нам необходимо использовать html форму, которая показывает более одной страницы и сохраняет данные при переходе от одной страницы к сле дующей. Для этого можно использовать сеансы (сесии):

session_start();
$_SESSION['username'] = $_GET['username'];

Можно также включать переменные из формы более ранней страницы в качестве скрытых полей ввода в более поздних страницах:

<input type="hidden" name="username" value="<?php echo htmlentities($_GET['username']); ?>">

При любой возможности используйте сеансы! Это более безопасно, поскольку пользователь не может модифицировать переменные сеанса. Чтобы начать сеанс, вызовите функцию session_start(), которая создаст новый сеанс или продолжит существующий. Заметим, что этот этап не является необходимым, если в файле php.ini установлен параметр session.auto_start.

Кстати, если в файле php.ini установлен параметр session.auto_start то session_start() не обязательна!

Переменные, присвоенные глобальному массиву $_SESSION, автоматически передаются между сценариями. В примерах, показанных ниже, переменная формы username сохраняется с помощью присваивания элемента $_GET['username'] элементу $_SESSION['username'].

Для получения доступа к этому значению в последующем запросе вызовите функцию session_start(), а затем проверьте элемент $_SESSION['username']:

 

session_start();

$username = htmlentities($_SESSION['username']);

print "Hello $username.";

В данном случае, если не вызвать функцию session_start(), то массив $_SESSION не будет установлен. Обеспечьте безопасность сервера и сохраните в секрете место расположения файлов сеанса (системных файлов, базы данных и т. д.); в противном случае ваша система будет уязвима для соединений с ложной аутентификацией.

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

 

 

Возможно Вас заинтересуют эти материалы

PHP: Буферизация вывода

Буферизация вывода в PHP это довольно полезная штука, если уметь ею пользоваться. Скажите сколько раз

POP3 протокол с примерами

POP3 это протокол по которому мы можем получить почту с сервера, для подобной задачи, используется

PHP: Хранение сессии в базе данных

Как и обещал, тема данной заметки: база данных, как обработчик сессии. А так как на