运行我的脚本时,我收到几个这样的错误:
警告:不能更改头信息-头已经发出(输出开始/some/file.php:12)在/some/file.php上线23
错误消息中提到的行包含header()和setcookie()调用.
这可能是什么原因?以及如何解决它?
我已经挣扎了好几个小时,但我无法让它发挥作用.当我重定向到另一个PHP页面时,我的所有会话变量都为null.我在xampp服务器上.
session.php文件
<?php
session_start();
if(isset($_POST['submitted']))
{
$_SESSION['first_name'] = "MAX";
var_dump($_SESSION);
header("Location: http://localhost:8080/secure login/session2.php");
die();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859- 1" />
<title>You Logged In</title>
</head>
<body>
<form action="session.php" method="post">
<div align="center"><input type="submit" name="submit" value="Login" /></div>
<input type="hidden" name="submitted" value="TRUE" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
session2.php
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>You …Run Code Online (Sandbox Code Playgroud) 我有这个会话变量,当用户使用以下命令登录时,我试图将其设置为访问级别:
$accessquery = mysql_query("SELECT roleid FROM person WHERE email = '". $email ."'");
$access = mysql_fetch_array($accessquery);
$_SESSION['Access'] = $access;
Run Code Online (Sandbox Code Playgroud)
但是它说“访问”未定义,问题是什么?
编辑*
if (($_SESSION['Access']) == "2")
Run Code Online (Sandbox Code Playgroud)
此处出现错误
编辑*
已调用会话开始。