我已经阅读了所有与此有关的问题,但我仍然茫然。 使用这样的测试脚本
// PAGE 1
<?php session_start();
echo var_dump($_SESSION) . "<br>";
$_SESSION[‘session_var’] = "stuff";
$PHPSESSID = session_id();
echo session_id() . "<br>";
?>
<html>
<head><title>Testing Sessions page 1</title></head> <body>
<p>This is a test of the sessions feature.
<form action="sessionTest2.php" method="POST">
<input type= "text" name= "form_var" value= "testing">
<input type= "submit" value= "Go to Next Page"> </form>
</body>
</html>
//PAGE 2
<?PHP session_start();
echo var_dump($_SESSION);
$session_var = $_SESSION['session_var'];
$form_var = $_POST['form_var'];
echo "session_var =" . $session_var. "</br>";
echo "form_var =" . $form_var. "<br>";
$PHPSESSID = session_id();
echo session_id();
?>
我在第2页中得到的结果是
array(1) { ["‘session_var’"]=> string(5) "stuff" } session_var =
form_var =testing
al89u6vu02lstp99cs4damdn04
如您所见,变量session_var可以在数组中看到,但没有输出到预期的屏幕上,是的,session_start()在两个页面的顶部。
任何想法可能有什么问题
答案 0 :(得分:1)
$_SESSION[‘session_var’] = "stuff";
使用非ascii ‘’
引号。
您是否正在使用文字处理器来编辑代码?
这些引号现在是键名的一部分,请参阅此["‘session_var’"]
。
坚持使用简单的ascii单引号和双引号'
或"