-2

我在一个真正的pickel:

我正在制作一个登录脚本,由于某种原因,$_SESSION 变量没有从我的登录检查中通过页面发送。

我已经用 pre PHP Ver 5.2.12 对此进行了测试,并且可以正常工作。以前用过这种方法。但是我现在使用这种方法的网站是 PHP Ver 5.2.12

所以我注意到的两个版本之间有两个不同之处,它们是:

在旧版本中,

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');

这绝对是我的头脑,可能只是我没有意识到的一个小错误,任何想法。

提前致谢。

4

1 回答 1

2

Write

session_start();

at the top of login page.

于 2012-05-12T04:25:25.113 回答