大佬教程收集整理的这篇文章主要介绍了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,请注明来意。