Php 会话变量和头不工作
我不确定我做错了什么。我以前创建过登录系统,但在这种情况下,既不会传递会话变量,也不会重定向页面。代码也没有返回任何错误Php 会话变量和头不工作,php,header,session-variables,Php,Header,Session Variables,我不确定我做错了什么。我以前创建过登录系统,但在这种情况下,既不会传递会话变量,也不会重定向页面。代码也没有返回任何错误 if(isset($_POST['login'])){ $get_pass = $_POST['password']; $get_pass_md5 = md5(md5("kJKLAD&%12!!".$get_pass."DAFKdkdf^9131*@^")); $get_email = $_POST['email']; require('connect.php')
if(isset($_POST['login'])){
$get_pass = $_POST['password'];
$get_pass_md5 = md5(md5("kJKLAD&%12!!".$get_pass."DAFKdkdf^9131*@^"));
$get_email = $_POST['email'];
require('connect.php');
$confirm_email_query = $con->query("SELECT * FROM users WHERE email = '$get_email'");
if($confirm_email_query->rowCount() == 1){
$db_user_info = $confirm_email_query->fetch(PDO::FETCH_OBJ);
$db_password = $db_user_info->password;
if($db_password === $get_pass_md5){
$fname = $db_user_info->fname;
$lname = $db_user_info->lname;
$team_id = $db_user_info->team_id;
$user_id = $db_user_info->user_id;
$privilege = $db_user_info->privilege;
session_start();
session_id(md5(md5($team_id.$fname.$lname)));
$_SESSION['team_id'] = $team_id;
$_SESSION['fname'] = $fname;
$_SESSION['lname'] = $lname;
$_SESSION['user_id'] = $user_id;
$_SESSION['privilege'] = $privilege;
header( 'Location: index.php' ) ;
}
else{
echo "Fatal Error: You have entered an incorrect password.";
}
}
else{
echo "Fatal Error: No such user exists.";
}
}
在第1行设置会话_start()。代码或include()必须在第1行
验证您的编码是否为utf-8 ansii或其他,如果不同编码中没有任何包含文件is
$\u POST['login']
set?在开发代码时始终打开错误报告并显示错误。如果之前有任何输出,会话/头/cookie调用将失败<代码>错误报告(E_全部);ini设置(“显示错误”,1)代码>启用错误报告后,我怀疑您会看到关于“已发送邮件头”的错误,此时您应该向您表示感谢-这非常有帮助。我真蠢:(它不需要是第一行,它需要在任何其他输出之前出现。如果不是第一行,则某些版本不起作用。我有这个问题。它不是特定于版本的。它完全是特定于输出的。您是对的,如果不是第一行,则它可能不起作用,但这与行位置无关,并且所有要做的事情都是w。)输入输出缓冲区是否已向下刷新到客户端浏览器,从而在cookie会话_start()发送之前发送打开的HTML头。