如何查看以下SESSION变量的指定值?
我在start_session()
$_SESSION['login']['email'] = "ntohuh";
我使用print_r($_SESSION);
( [login] => Array ( [email] => )
此问题基于this thread。
答案 0 :(得分:1)
价值出现在我面前。这就是我所做的,如果有帮助的话:
# This empties $_SESSION
$_SESSION = array();
session_start();
$_SESSION['login']['email'] = "ntohuh";
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
答案 1 :(得分:0)
我发现问题出现在我的handle_login_session.php
文件中,在我的index.php的最开头。我有那个
文件handle_login_session.php
if( $_SESSION['login']['logged_in'] == false ){
$random_number = rand(1,100000);
$session_id = session_id($random_number);
$_SESSION['login']['email'] = ''; // problem here
}
我不认为这可能是一个问题,因为我在文件的最后有以下内容
我的index.php在文件handle_registration.php
$email = $_POST['login']['email'];
$_SESSION['login']['email'] = "ntohuh"; // not effective
我认为我的index.php中的代码将覆盖之前的代码。但是,这不是这种情况。
我对这种奇怪的行为有一个解释。 后一个文件由我的index.php中的以下表单调用。
<?php
echo ("<form method='post'"
. "action='/codes/handlers/handle_registration.php" // called here
. "'>"
);
?>
<p>Email:
<input name="login[email]" type="text" cols="92" />
</p>
<input type="submit" value="OK" />
</form>
此操作似乎就像外部环境一样,不会覆盖主环境中的任何内容。
下图总结了显示被调用文件顺序的情况。
handle_login_session.php ---- handler_registration ------
| |
index.php ----------------------------------------------------------------------->
time