PHP中的会话变量未出现

时间:2019-02-18 16:43:32

标签: php session

我已经阅读了所有与此有关的问题,但我仍然茫然。 使用这样的测试脚本

// 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()在两个页面的顶部。

任何想法可能有什么问题

1 个答案:

答案 0 :(得分:1)

$_SESSION[‘session_var’] = "stuff"; 

使用非ascii ‘’引号。

您是否正在使用文字处理器来编辑代码?

这些引号现在是键名的一部分,请参阅此["‘session_var’"]

坚持使用简单的ascii单引号和双引号'"