我正在处理一个使用cookie登录用户的PHP站点;问题是我无法从登录页面获取输入电子邮件到主页。
我总是在主页上看到这个:
(欢迎电子邮件!)
应该是:
(欢迎user@gmail.com!)
这是我的主页代码:
<?php
if (isset($_COOKIE["Email"])){
echo "Welcome " . $_COOKIE["Email"]. "!<br>";
echo '<a href="logoutForm.php">logout</a>';
}
else{
setcookie("Email", "Email", time()-50000);
echo 'you are logged out please <a href="log_in.php">login</a>';
}
?>
答案 0 :(得分:1)
您是否尝试过使用会话?
成功登录后,重定向:
session_start();
$_SESSION['Email']="user@gmail.com";
然后在您的欢迎页面上:
<?php
session_start();
if(isset($_SESSION["Email"])){
echo "Welcome " . $_SESSION["Email"]. "!<br>";
echo '<a href="logoutForm.php">logout</a>';
}
else{
setcookie("Email", "Email", time()-50000);
echo 'you are logged out please <a href="log_in.php">login</a>';
}
?>
这还有将会话信息存储在服务器上而不是用户计算机上的好处。
要终止会话,请使用:
session_destroy();
答案 1 :(得分:1)
您需要在登录页面上向我们展示代码,以便我们了解您如何设置&#34;电子邮件&#34; cookie变量,就像你使用
一样 setcookie("Email", "bla_blah_blah");