我有一个包含登录信息的网站,当用户登录时,我希望它在主页面上显示一条消息并通过该会话进行会话。
我收到错误:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by..
和
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
当我没有登录时,它会显示错误,但是一旦我登录并返回到该页面它就会消失,但不会显示“您已登录!”喜欢它...
在检查数据库是否匹配后,这是我的身份验证代码:
if ($result["userName"] == $_POST[txtUsername] && $result["password"] ==$_POST[txtPassword])
{
?>
<script type="text/javascript">;
alert("successfully logged in, <?php echo $result['userName'];?>!");
window.location.href='http://manning3.jcu.edu.au/~jc192699/index.html';
</script>
<?php
session_start();
$_SESSION["access"] = 'granted';
}
我的index.php中的代码似乎导致错误:
<?php
session_start();
if ($_SESSION["access"] == 'granted'){
?>
<p>You are logged in!</p>
<?php
}
else{
?>
<p>You are not logged in!</p>
<?php
}
?>
任何帮助都会非常感激。谢谢!
答案 0 :(得分:2)
session_start()
。因为您在开始会话之前打印了一个javascript脚本,所以已经设置了标头,因此无法启动会话。
答案 1 :(得分:1)
在第1行的<?php
声明之前,您似乎有空格。这会导致在session_start()
之前发送标题,并可能导致您收到的错误。