我知道这个简单的问题,在我的程序会话变量中已经正常工作但现在它显示出一些错误。我在配置页面中使用session_start(); ob_start();
启动会话,然后在所有页面中包含此页面。但是如果运行该程序,我收到此错误消息:
无法发送会话缓存限制器 - 已发送的标头
如果删除包含的配置页面,则会话变量不起作用。
session_start();
ob_start();
$dbcont = mysql_connect("localhost","root","");
mysql_select_db("emplist",$dbcont);
if($_POST["subSubmit"]=="Submit") {
$user = $_POST["txtUsername"];
$pass = $_POST["txtPassword"];
if ($user == "user" && $pass == "pass") {
$_SESSION["uaid"] = "ADMIN SECTION";
header("Location:welcome.php");
exit();
}else{
$err = "Login Failed. Check You UserID/Password";
}
}
?>
<html>
<head>
<title>.:: Employee Management ::.</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1" id="form1" onSubmit="return checklogin();">
USER ID : <input type="text" name="txtUsername" id="txtUsername" onKeyUp="return clearerr();">
PASSWORD : <input type="password" name="txtPassword" id="txtPassword" onKeyUp="return clearerr();">
<input type="submit" class="FormButton" name="subSubmit" id="subSubmit" value="Submit">
<input type="reset" class="FormButton" name="butReset" id="butReset" value="Reset">
</form>
</body>
</html>
这是我的主页代码。如果登录成功,那么控件将移动到该页面中的“Welcome.php”页面,我只是回显会话变量。
答案 0 :(得分:2)
将session_start();
移至最顶层
您看, RULE 是session_start();
NOT ONE CHARACTER 之前没有任何内容,否则,浏览器会认为该网页已经启动,所以在开始之前session_start();
您无法启动标题。您可以使用任何字符开始标题,此 包含空格 (空格键)。
因此,请选择您的浏览器。
答案 1 :(得分:1)
尝试删除脚本中的BOM符号。
答案 2 :(得分:0)
如果您还没有,请尝试在从脚本生成任何输出之前放置session_start()
。