Я хочу получить пользовательский ввод на одной странице, сохранить его в переменной php и использовать его на другой php-странице. Я пытался использовать «сеансы», но, похоже, он не работает. Есть ли другая безопасная альтернатива? Эта информация, вероятно, будет именами пользователей и паролями.
Попробуйте изменить код сеанса, так как это лучший способ сделать это.
Например:
<?php session_start(); if (isset($_POST['username'], $_POST['password']) { $_SESSION['username'] = $_POST['username']; $_SESSION['password'] = $_POST['password']; echo '<a href="nextpage.php">Click to continue.</a>'; } else { // form } ?>
<?php session_start(); if (isset($_SESSION['username'])) { echo $_SESSION['username']; } else { header('Location: index.php'); } ?>
Однако я бы скорее сохранил что-то более безопасное, как идентификатор пользователя в сеансе, а не учетные данные пользователя.
Я согласен с Карсоном, сессии должны работать на это. Убедитесь, что вы вызываете session_start () раньше всего на любой странице, которую хотите использовать переменные сеанса.
Кроме того, я не буду хранить информацию о пароле напрямую, скорее использую какой-то механизм токен аутентификации. ИМХО, он не является внутренне опасным для хранения данных пароля в сеансе, но если нет необходимости делать это, вы должны, вероятно, попытаться его избежать.
Существует несколько способов:
Сеансовый путь – единственный способ, с помощью которого данные не «оставляют» сервер, поскольку он хранится на самом сервере. Для всех других способов, упомянутых выше, вам необходимо позаботиться о дезинфекции и подтверждении данных на странице приема.
Самый простой способ
//page1.php session_start(); $_SESSION['user']='user'; $_SESSION['password']='password'; //page2.php session_start(); echo $_SESSION['user'] . ' ' . $_SESSION['password'];
Вы можете попробовать использовать методы POST и GET для передачи пользовательских входов в PHP-скриптах.
PHP GET
PHP POST
Я тоже согласен, что сеансы – лучшее решение. См. Эту главу из приложений веб-баз данных с PHP и MySQL для некоторых примеров.