【发布时间】:2019-07-25 12:39:08
【问题描述】:
我有一些简单的静态登录 PHP 逻辑并试图将用户名保存在 cookie 中。不幸的是,它没有保存任何东西,也没有返回任何错误,所以我不太确定出了什么问题。也许你可以在我做错的代码中发现一些东西。
$users = array('allan'=>'allanpass');
$username = $_POST["username"];
$enterpass = $_POST["password"];
if(isset($_POST["username"])) {
if (array_key_exists($username, $users)) {
$pass = $users["allanpass"];
if($enterpass == $pass) {
setcookie("heyhey", 'user2', time() + 60 * 60 * 24 * 7, '/');
echo "Welcome back! <br />";
echo '<a href="login.php?link=link1">Link1</a><br />';
echo '<a href="login.php?link=link2">Link2</a><br />';
echo '<a href="login.php?link=link3">Link3</a><br />';
} else {
echo "pass does not exist";
}
} else {
array_push($users, $username);
echo "hello new user <br />";
echo '<a href="#">Link1</a><br />';
echo '<a href="#">Link2</a><br />';
echo '<a href="#">Link3</a><br />';
}
} else {
echo "Please fill in the form";
};
编辑:我没有保存以前的 cookie。一切都被摧毁了。
【问题讨论】:
-
这就是全部代码吗?上面没有什么?
-
未定义:
$pass = $users["allanpass"];allanpass 是一个值而不是一个键,这应该已经给你一个通知。你有错误吗? -
@Andreas 是的,它应该是一个值而不是键。我正在检查输入的通行证是否与数组中的通行证匹配。我有错误,我收到警告,但那是另一回事。我回答了我自己的问题,你可以检查一下。
标签: php cookies login setcookie