0

所以我要在第二页传递一个变量。我在我的索引页面顶部测试了会话,以了解会话是否包含变量。像这样:

<?php
error_reporting(E_ALL ^ E_NOTICE);
session_start();
$UserID = $_SESSION['CustNum'];
$UserN = $_SESSION['UserName'];
echo "$UserN";
?>

索引页面完全没问题。它确实打印了用户名。但是当涉及到我将传递变量的下一页时,我尝试了相同的代码来查看会话是否包含某些内容。但是,没有。请帮忙。此外,这些代码都高于我的代码,高于一切。

4

4 回答 4

3

哪里:

$_SESSION['CustNum'] = 'xxx';
$_SESSION['UserName'] = 'yyy';

?

于 2012-10-04T14:40:59.770 回答
0

session_start()您是否在其他页面上声明了 a ?

你需要在$_SESSION['UserName']某个地方初始化。

像这样$_SESSION['UserName'] = "my_username"

于 2012-10-04T14:42:31.700 回答
0

请试试这个方法

在第一页

error_reporting(E_ALL ^ E_NOTICE);

session_start();

$_SESSION['CustNum']='12345';

$_SESSION['UserName']='sivanthi';

在另一个页面

error_reporting(E_ALL ^ E_NOTICE);

session_start();

echo $_SESSION['CustNum'];

echo $_SESSION['UserName'];
于 2012-10-04T17:04:23.170 回答
0

根据您的评论和代码:

if($numrows === 1){ $row = mysql_fetch_assoc($query)or die ('Unable to run query:'.mysql_error());
// fetch associated: get function from a query for a database
$dbpass = $row['PassWord']; // read password of inputted user from the query.
$dbuser = $row['UserName']; // read username  from the query
$dbactive = $row['Active']; // read if user is active $dbid = $row['CustNum'];

if($UserP == $dbpass){ if($dbactive == 1){ //set session information
    $_SESSION['CustNum'] = $dbid;
    $_SESSION['UserName'] = $dbuser;
}

..我想这是:if($UserP == $dbpass){ if($dbactive == 1)false。核实。

于 2012-10-05T08:05:50.470 回答