gpt4 book ai didi

PHP $_SESSION 数据返回空

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:45 24 4
gpt4 key购买 nike

我有一个 login.php 文件:

<?php

session_start();

include('db.php');

if(isset($_POST['email']) && !empty($_POST['email']) AND isset($_POST['password']) && !empty($_POST['password'])){
$email = mysql_escape_string($_POST['email']);
$password = mysql_escape_string($_POST['password']);

$search = mysql_query("SELECT * FROM users WHERE email='".$email."' AND password='".$password."' AND active='1'") or die(mysql_error());
$match = mysql_num_rows($search);

if($match > 0){
$row = mysql_fetch_assoc($search);
$user=$row['forename'].' '.$row['surname'];
$_SESSION['username']=$user;
//$msg = 'Login Complete! Thanks, '.$user.'!';
header( 'Location: page1.php' ) ;
die;
}else{
$msg = 'Login Failed!<br /> Please make sure that you enter the correct details and that you have activated your account.';
}
}


?>

现在,当我加载 page1.php 时出现问题。该文件包含此...

<?php

session_start();

include('db.php');

if(isset($_SESSION['username'])){
echo 'Success, '.$_SESSION['username'].'!';
}else{
echo 'No dice!';
//header( 'Location: login.php' ) ;
}

?>

如果没有存储用户名,我理想情况下希望它重定向到登录。如果有,我想让他们查看。但是,我得到“没有骰子!”每次,所以看起来我没有正确检索(或存储)数据。我做错了什么?


需要明确的是,else 不应该触发,因为它应该引用 index.php 中的 session 数据集。重定向不是问题。


这个问题是我的主机特有的,他的设置很奇怪。在联系他们时,他们为我提供了正确的路径信息,我必须使用 session_save_path 来设置。在此基础上给出正确答案。

最佳答案

重定向格式错误。您必须指定完整的 url,如下所示:

header('Location: http://your.site.com/page1.php');
die;

重定向后结束脚本很重要。

如果未保留 session 数据,则可能是您遇到了一些配置问题。验证您的 php 配置并检查存储 session 数据的写入权限。

<?php phpinfo();?>

关于PHP $_SESSION 数据返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15115774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com