我想在一个页面中获取用户输入,将其存储在php变量中并在另一个php页面中使用它。我尝试过使用'会话',但它似乎没有用。还有另一种安全的选择吗?此信息可能是用户名和密码。
答案 0 :(得分:13)
尝试更改会话代码,因为这是执行此操作的最佳方式。
例如:
<?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');
}
?>
但是,我可能会在会话中存储比用户ID更安全的内容,而不是用户的登录凭据。
答案 1 :(得分:7)
我同意卡森,会议应该为此工作。确保在要使用会话变量的任何页面上的任何其他内容之前调用session_start()。
另外,我不会直接存储密码信息,而是使用某种身份验证令牌机制。恕我直言,在会话中存储密码数据并不是本质上不安全,但如果没有必要这样做,你应该尽量避免使用它。
答案 2 :(得分:4)
有几种方法:
会话方式是数据不会“离开”服务器的唯一方式,因为它存储在服务器本身上。对于上面提到的所有其他方法,您必须在接收页面上处理清理和验证数据。
最简单的方法是
//page1.php
session_start();
$_SESSION['user']='user';
$_SESSION['password']='password';
//page2.php
session_start();
echo $_SESSION['user'] . ' ' . $_SESSION['password'];
答案 3 :(得分:0)
答案 4 :(得分:0)
我同意,会议是最好的解决方案。有关示例,请参阅Web Database Applications with PHP & MySQL中的本章。