我真的很困惑!我有这个php文件,其中我放置了这个脚本,用户将用户重定向到主页,以防他没有登录
<?php
session_start();
if(!isLogged())
{
header("location: mainarea.php");
exit;
}
function isLogged()
{return $_SESSION;}
?>
该页面始终有效,但昨天我已将此css规则添加到同一个php文件中:
#deleteThumb
{
position:absolute; top:10px; right:10px; width:20px; height:40px; left:320px;
}
重定向将不再起作用!!!!在呈现php会话控件之前放置的所有内容,在它之后,什么都没有?这似乎是一个PHP的错误,我没有其他解释
更新:将会话放在第一行和脚本中,全部恢复正常工作!
无论如何这是一个真正的谜! 例如,这总是有效:
<style>
#wrapper{width:1000px; margin-right:auto; margin-left:auto; padding-top:70px;}
</style>
</head>
<body>
<?php session_start();
if(!isLogged())
{
header("location: mainarea.php");
exit;
}
function isLogged()
{return $_SESSION;} ?>
这不起作用
<style>
#wrapper{width:1000px; margin-right:auto; margin-left:auto; padding-top:70px;}
#deleteThumb{position:absolute; top:10px; right:10px; width:20px; height:40px; left:320px;}
</style>
</head>
<body>
<?php session_start();
if(!isLogged())
{
header("location: areanegozianti.php");
exit;
}
function isLogged()
{return $_SESSION;} ?>
答案 0 :(得分:1)
标头函数必须在任何html或css代码之前发送。以下示例:
<?php
session_start();
if(!isLogged())
{
header("location: mainarea.php");
exit;
}
function isLogged()
{return $_SESSION;}
?>
//css has to go below here
<html>
<head>
//styles should go here
</head>
<body>
</body>
</html>
答案 1 :(得分:1)
您使用的是基于Cookie的会话吗?要使用基于cookie的会话,必须在向浏览器输出任何内容之前调用session_start()。