PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP-会话变量不持久大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一些会话变量要在我的应用程序中尝试使用,但是,我无法使它们显示在需要它们的页面上.

这是设置它们的代码(我也已经为它们手动分配了值,因此问题出在数据库拉力上):

if ($name != ""){
    $_SESSION['name'] = $name;
    $_SESSION['id'] = $user_id;
}

我以session_start();开头该页面,就像在将要使用会话变量的所有页面上一样.

当我尝试在另一个页面调用会话变量时,它们不再存在,即使该页面是分配值的页面也@L_675_12@到该页面.

这就是我试调用会话变量的方式:

 $name = $_SESSION['name'];
 $user_id = $_SESSION['id'];

为什么会这样做呢?

编辑:为了帮助我包括页面的其余代码.数据库连接部分工作正常,它们与在其他地方使用eveyr相同.

 <?PHP
 session_start();

 define('DB_SERVER', '<server>');
 define('DB_USER','<db>');
 define('DB_password' , '<password>');
 define('db_name' , '<db-name>');

 $conn = new MysqLi(DB_SERVER, DB_USER, DB_password, db_name) or 
        die('There was a problem connecTing to the database');

 $stmt = "SELEct User.user_id, User.name from User where User.username = '" .       
 $_POST["username"] . "' AND User.password = '" . $_POST["pwd"] . "';";

 if(!$result = $conn->query($stmt)){
die('there was an error retrieving the information');
 }

$row = $result->fetch_assoc();
$name = $row['name'];
$user_id = $row['user_id'];

$_SESSION["name"] = $name;
$_SESSION["id"] = $user_id;

if ($name != ""){

$conn->close();
?>
<script type="text/javascript">
<!--
window.LOCATIOn = "store.PHP"
//-->
</script>

<?PHP
}
else{
?>
<script type="text/javascript">
<!--
window.LOCATIOn = "register.PHP"
//-->
</script>
<?PHP
}
?>

解决方法:

只有两个概率:

>在没有任何输出之前,您尚未启动会话.
> $name已经为空或为空.

您必须执行以下操作才能调试:

>在if条件之前回显$name.
> error_reporTing(E_ALL);或签出此问题:@L_772_27@

大佬总结

以上是大佬教程为你收集整理的PHP-会话变量不持久全部内容,希望文章能够帮你解决PHP-会话变量不持久所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: