首页abc.html
< form action="xyz.php" method="post" >
< input type=text value="ABC" name="first" id="first" />
< /form>
第二页xyz.php
session_start();
$var1 = $_Request['first'];
$_Session['myvar'] = $var1;
session_write_close();
echo "<a href='lkj.php'>click here</a>"
第三页lkj.php
session_start();
echo $_Session['var1'];
没有任何输出,它完全空白,因为 session 变量中没有存储任何内容。
你能帮我解决这个问题吗?
最佳答案
您的大小写不正确,变量标识符在 PHP 中区分大小写:
// Incorrect:
$var1 = $_Request['first'];
$_Session['myvar'] = $var1;
session_write_close();
// Should be:
$var1 = $_REQUEST['first'];
$_SESSION['myvar'] = $var1;
session_write_close();
// On lkj.php:
session_start();
echo $_SESSION['var1'];
另外,我强烈推荐使用 $_POST
,而不是使用 $_REQUEST
。您的表单指定了 method='post'
。
$var1 = $_POST['first'];
$_SESSION['myvar'] = $var1;
关于PHP session 不存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7245006/