set SESSION variable when clicking an <a href>


set SESSION variable when clicking an <a href>

我有一个php脚本,它在页面上打印href链接,如下所示:

//...
echo"<link><a href='"nextpage.php'">$table_list[$i]</a><br>";
//...

$table_list有我数据库中的表名,我想用$_SESSION['tablename']=$table_list[$i]; 转到下一页

我该怎么做?谢谢

您可以通过将查询字符串附加到链接来传递所需的值。类似于:

echo "...nextpage.php?tablename=$table_list[$i]...";

然后在nextpage.php中,获取$_GET['tablename']的值并将其放入用户的会话中。

$_SESSION['tablename'] = $_GET['tablename'];

如果我理解得对,那么在调用nextpage时,您希望将会话的$table_list[$i]设置为$_SESSION["tablename"]

只需将链接写如下:

echo "<a href='"nextpage.php?table=" . urlencode($table_list[$i]) . "'">" . $table_list[$i] . "</a>";

所以在nextpage.php中,你有$_GET["table"],然后你可以这样做:

$_SESSION["tablename"] = $_GET["table"]

我希望我能正确理解你的问题。

您可以通过GET:传递变量

//...
echo"<a href='"nextpage.php?value=$table_list[$i]'">$table_list[$i]</a><br>";
//...

并检索它:

$_SESSION['tablename']=$_GET["value"]

有几种不同的方法可以做到这一点。最简单的方法是在nextpage.php的头中包含一段代码,用于设置会话变量

您当前页面上的代码应该更改为以下内容:

echo "<link><a href='"nextpage.php?tablename=$table_list[i]'">$table_list[$i]</a><br>";

然后在nextpage.php上,您可以使用get请求提取session_var的值,并将其设置为您的会话变量。

$tablename = $_GET['tablename'];
$_SESSION['tablename'] = $tablename;

现在很明显,在设置会话数据之前,您必须对get数据进行清理。不这样做是危险的。