2

我想创建一个链接,如果用户没有登录到他们的帐户,则单击该链接将转到登录页面,否则将能够访问他们想要的页面

<li><?php session_start();
if (!(isset($_SESSION['login']) && $_SESSION['login'] != ''))
{
    //header ("Location: login.php");
    echo("<script>alert('login to see this page');</script>");
}
else 
    echo ('<a href="ask-expert.php">')?>Ask A Export</a></li>

我有上面的片段试图自己做,但它只是提醒(故意给出)失败了,我的链接文本被隐藏了。此外,如果我使用标题不提醒它自动重定向到登录,但我想要点击!怎么可能?

4

2 回答 2

1

您不应该在开始会话(<li>标签)之前发送数据。

会话使用 cookie,cookie 设置在 HTTP 标头中。如果内容已发送,则服务器无法添加标头。

顺便说一句,您将遇到与该header()功能相同的问题。

于 2013-05-27T10:26:18.217 回答
0

onClick 时调用 javascript 函数。然后使用javascript重定向到登录页面,

document.location

或者

只需对该链接/按钮使用锚标记

<a href="login.php">Ask to an Expert</a>
于 2013-05-27T10:10:27.967 回答