单击<a href=""></a>时设置SESSION变量

时间:2012-09-07 15:27:02

标签: php session post href

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

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

$ table_list包含我的数据库中的表名,我想用$_SESSION['tablename']=$table_list[$i];

转到 nextpage

我该怎么办? 感谢。

4 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望在调用下一页时将$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"] 然后你可以这样做:

{{1}}

我希望我理解你的问题。

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:1)

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

当前页面上的代码应更改为:

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

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

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

现在显然你必须在设置会话数据之前清理get数据。不这样做会很危险。

答案 3 :(得分:1)

您可以通过GET传递变量:

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

并检索它:

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