会话。变量不会在下一页传递

时间:2012-10-04 14:38:17

标签: php session variables

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

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

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

4 个答案:

答案 0 :(得分:3)

在哪里:

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

答案 1 :(得分:0)

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

你需要在某处初始化$_SESSION['UserName']

就像这个$_SESSION['UserName'] = "my_username"

答案 2 :(得分: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'];

答案 3 :(得分: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。检查一下。