<?php session_start();?> <a href="abc.php?color=red"> send the color </a> <br><br> <?php @$_SESSION['color'] = $_GET['color']; echo $_SESSION['color']; ?> <br> <br> <a href="abc.php"> check the session variable </a>
嗨,我需要上面代码的帮助。
我想把一个变量传递给session。
在上面的代码中,我这样做了,但当我刷新页面或单击底部链接时,会话变量diss会出现。我想要echo $_SESSION['color'];
粘性
我该怎么办?关于
无论是否存在这样的GET变量,都将赋值$_GET['color']。正因为如此,当没有$_GET['color']时,您就失去了会话变量。必须是:
if (isset($_GET['color'])) {
$_SESSION['color'] = $_GET['color'];
}
echo isset($_SESSION['color']) ? $_SESSION['color'] : '';
当$_GET['color']
为空时,因为color
不在URL的查询字符串中,您仍然将该空值分配给$_SESSION['color']
。
不要这样做,您设置的值不会被覆盖。没有什么会自行消失。