PHP SESSION变量未从MySQL记录中插入

时间:2017-11-30 17:06:24

标签: php mysql session

我有一系列保存在MySQL数据库中的href链接,用于动态填充这样的PHP页面:

<a href="http://www.adomain.com/links.php">LINK</a>

这是通过使用会话变量来查询数据库并仅通过其EmpNo获取该人的链接来完成的。

我需要在填充页面时用会话变量追加存储在数据库中的一个链接。

目前,数据库中的链接如下所示:

<a href="http://www.adomain.com/links.php?EmpNo=<?php echo $_SESSION['EmpNo'] ?>">LINK</a>

问题在于,当我们使用此href填充php页面时,它会准确写入记录中存储的内容,并且在这种情况下实际上不会插入EmpNo会话变量。

我试过用。“”。它在“。

之后切断了

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

字符串中的这样的PHP代码在显示时不会被执行:

<a href="http://www.adomain.com/links.php?EmpNo=<?php echo $_SESSION['EmpNo'] ?>">LINK</a>

这很好,你不希望这样。我建议使用占位符标记更新存储在数据库中的字符串。也许是这样的:

<a href="http://www.adomain.com/links.php?EmpNo=__EMP_NO__">LINK</a>

或者这个:

<a href="http://www.adomain.com/links.php?EmpNo={{EMP_NO}}">LINK</a>

然后,您可以通过将标记更改为您想要的任何值来在显示时动态更改字符串:

$linkString = // some query to get the string from the db
$linkString = str_replace('{{EMP_NO}}', $_SESSION['EmpNo'], $linkString);
echo $linkString;