只有在PHP和SQL中设置cookie时才显示表单?

时间:2015-02-21 20:05:01

标签: php sql cookies set

我正在用PHP编写脚本。一旦用户登录网站,我就设置了一个运行的cookie:

$cookie_name = "logged";
$cookie_value = $row['uid'];
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");

然后将它们重定向回主页。但是,我不想在网页的右上角遇到登录框,而是希望隐藏表单以及有关要显示的用户的信息。但是,即使设置了cookie,登录框保持不变。下面是登录框的代码:

if (!isset($_COOKIE[$cookie_name])) {
echo '<form action="attempt.php" method="post">
<div align="right"><br />
Email Address:<br />
<input type="text" name="mail"><br />
Password:<br />
<input type="password" name="pword"><br />
<input type="submit" value="Login" />
</div>
</form>
<div align="right"><br />
</div>';
} else {
print '<a href=" . $_COOKIE[$cookie_name] . ".php">View my profile.</a>';
}

提前感谢任何建议:)

1 个答案:

答案 0 :(得分:0)

我认为您没有以登录格式初始化$ cookie_name。

试试这个:

$cookie_name = "logged";//add this before checking
if (!isset($_COOKIE[$cookie_name])) {
echo '<form action="attempt.php" method="post">
<div align="right"><br />
Email Address:<br />
<input type="text" name="mail"><br />
Password:<br />
<input type="password" name="pword"><br />
<input type="submit" value="Login" />
</div>
</form>
<div align="right"><br />
</div>';
} else {
print '<a href="' . $_COOKIE[$cookie_name] . '".php">View my profile.</a>';
}

如果这不能解决您的问题,请尝试设置error_reporting(E_ALL)并向我们显示任何通知或警告。