php – 如何在单击链接时设置会话变量

前端之家收集整理的这篇文章主要介绍了php – 如何在单击链接时设置会话变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下问题…我想要设置一个会话变量,当点击一般的链接,如:
<a href="home" name="home">home</a>

我的研究似乎指出,PHP不可能以这样一种方式来追踪点击事件来设置会话变量.

我相信有可能与Ajax,但如何?我的链接会是什么样的?
设置会话变量应如下所示:

$_SESSION['link'] = home;

简而言之:当单击HTML中的链接时,必须设置会话变量.
我该怎么办?

PS:我不太熟悉Ajax,但我会赶上.

编辑:链接将引用同一页面,我也想避免像“home.PHP?link = X”这样的网址.
如果不可能做任何其他方式,太糟糕了.但我希望有一个解决方案.
重要提示链接名称将为$_SESSION [‘link’]

session_start();
    if(isset($_SESSION['current'])){
         $_SESSION['oldlink']=$_SESSION['current'];
    }else{
         $_SESSION['oldlink']='no prevIoUs page';
    }
    $_SESSION['current']=$_SERVER['PHP_SELF'];

也许这是你要找的?
它会记住您来自的旧链接页面(在您的网站内).

将该片放在每页的顶部.

如果您想要“刷新证明”,您可以添加另一个支票:

if(isset($_SESSION['current']) && $_SESSION['current']!=$_SERVER['PHP_SELF'])

这将使页面不记得自己.

更新:几乎与@Brandon一样…
只要使用PHP变量,我知道这看起来像一个安全风险,但是当做正确的时候,它不是.

<a href="home.PHP?a=register">Register Now!</a>

PHP

if(isset($_GET['a']) /*you can validate the link here*/){
    $_SESSION['link']=$_GET['a'];
 }

为甚么将GET存储在会话中?只是用它请告诉我为什么你不想使用GET. «验证更安全.我也许可以帮你一个更好的脚本.

原文链接:https://www.f2er.com/php/131384.html

猜你在找的PHP相关文章