【发布时间】:2012-05-12 04:03:37
【问题描述】:
我在一个真正的pickel中:
我正在制作一个登录脚本,但由于某种原因,$_SESSION 变量没有从我的登录检查中通过页面发送。
我已经使用 PHP 5.2.12 之前的版本对此进行了测试,并且可以正常工作。以前用过这种方法。但是我现在使用这种方法的网站是 PHP Ver 5.2.12
所以我注意到这两个版本之间有 2 个不同之处,它们是:
在旧版本中,
session.bug_compat_42 On On AND 在新 = session.bug_compat_42 Off Off
还有
旧版本
session.use_trans_sid 0 0 和新的 session.use_trans_sid 1 1
每个版本中 session.save_path 的路径也不同(这有关系吗??) 这是我登录页面的代码:
登录页面
<?php
session_start();
$var_user = $_SESSION['US'];
//echo $var_user;//ouputs nothing =0
//if not logged in
if(!isset($_SESSION['US'])) {
header ('Location:index.php');
die();
}else if(isset($_SESSION['US'])){
include('connect.php');
//rest of script goes here
}
以及我在 if 语句中检查登录详细信息的页面代码
从登录页面检查变量的页面 页首
<?php
session_start();
$var_pass =$_REQUEST['PW'] ;
$var_user =$_REQUEST['US'] ;
稍后在页面中
$_SESSION["US"]= $var_user;
//echo "login success";
header ('Location:loggedin.php');
这绝对是我的想法,可能只是我没有意识到的一个小错误,任何想法。
提前致谢。
【问题讨论】:
-
您在登录页面中添加了 session_start 吗?
-
不,我没有,应该吗??
-
做一件事。在每个代码上方,写下它来自哪里的文件的名称。我看到这里有 2 页。但是哪个代码属于哪个页面变得越来越困难。或者更好,在这里给出完整的代码。调试起来会更容易。
-
感谢已调整,希望现在看起来更清晰。
标签: php session session-variables