HTML / HTTP не имеет состояния, другими словами, то, что вы делали / видели на предыдущей странице, совершенно не связано с текущей страницей. За исключением , если вы используете что-то вроде сеансов, файлов cookie или переменных GET / POST. Сеансы и файлы cookie довольно просты в использовании, поскольку сеансы намного безопаснее, чем файлы cookie. Более безопасный, но не полностью безопасный.
Сессия:
//On page 1
$_SESSION['varname'] = $var_value;
//On page 2
$var_value = $_SESSION['varname'];
Не забудьте выполнить оператор session_start();
на обеих этих страницах, прежде чем пытаться получить доступ к массиву $_SESSION
, а также перед отправкой любого вывода в браузер.
Cookie:
//One page 1
$_COOKIE['varname'] = $var_value;
//On page 2
$var_value = $_COOKIE['varname'];
Большая разница между сеансами и файлами cookie заключается в том, что значение переменной будет храниться на сервере, если вы используете сеансы, и на клиенте, если вы используете файлы cookie. Я не могу придумать какой-либо веской причины использовать файлы cookie вместо сеансов, кроме случаев, когда вы хотите, чтобы данные сохранялись между сеансами, но даже тогда, возможно, лучше хранить их в БД и извлекать их по имени пользователя или идентификатору. 1019 *
GET и POST
Вы можете добавить переменную в ссылке на следующую страницу:
<a href="page2.php?varname=<?php echo $var_value ?>">Page2</a>
Это создаст переменную GET.
Другой способ - включить скрытое поле в форму, которая отправляется на вторую страницу:
<form method="get" action="page2.php">
<input type="hidden" name="varname" value="var_value">
<input type="submit">
</form>
А затем на второй странице:
//Using GET
$var_value = $_GET['varname'];
//Using POST
$var_value = $_POST['varname'];
//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];
Просто измените метод для формы на post
, если вы хотите сделать это по почте. Оба одинаково небезопасны, хотя GET легче взломать.
Тот факт, что каждый новый запрос, за исключением данных сеанса, является совершенно новым экземпляром скрипта, поймал меня, когда я впервые начал писать код на PHP. Как только вы к этому привыкнете, все довольно просто.