我真的很挑剔:
我正在创建一个登录脚本,由于某种原因,$ _SESSION变量没有从我的登录检查中发送到页面。
我已经使用PHP Ver 5.2.12进行了测试,但它确实有效。以前使用过这种方法。但我现在使用此方法的网站是PHP Ver 5.2.12
因此,我能够注意到的两个版本之间有两个不同之处,它们是:
在旧版本中,
session.bug_compat_42 On on和in new = session.bug_compat_42 Off Off
另外
OLD VERERSion
session.use_trans_sid 0 0和NEW session.use_trans_sid 1 1
session.save_path的路径在每个版本中都是不同的(这有关系吗?) 这是我登录页面的代码:
LOGGEDIN PAGE
<?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');
这绝对是我的头脑中可能只是一个小错误,我没有意识到,任何想法。
提前致谢。
答案 0 :(得分:2)
写
session_start();
位于登录页面的顶部。