当前位置: 首页 > 面试题库 >

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

东郭宏朗
2023-03-14
问题内容

我有以下问题…我想在单击普通链接时设置会话变量,例如:

<a href="home" name="home">home</a>

我的研究似乎指出,PHP无法以设置会话变量的方式赶上click事件。

我相信使用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'];

也许这就是您要找的东西?它将记住您来自的旧链接/页面(在您的网站内)。

将该作品放在每页的顶部。

如果要使其成为“刷新证明”,则可以html" target="_blank">添加另一项检查:

   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。«验证以获得更高的安全性。我也许可以为您提供更好的脚本。



 类似资料:
  • 我需要为我的应用程序设置一个mysql会话变量,以便按照预期使用MariaDB Galera集群。SQL调用是:。当应用程序使用数据库时,应始终设置该值。我使用EclipseLink作为JPA提供程序。 我的问题是:实现这一点的最佳途径是什么? 这对我不起作用。从EntityManager查询会话变量将返回值。 选项2:EntityManager工厂 每次创建新的EntityManager时,都会

  • 问题内容: 我希望此链接具有一个JavaScript对话框,询问用户“ 您确定吗? 是/否 ”。 如果用户单击“是”,则链接应该加载,如果“否”,则什么也不会发生。 我知道如何通过运行返回或的函数以表格形式进行操作。但是,我该如何使用链接呢? 问题答案: 内联事件处理程序 以最简单的方式,您可以在内联处理程序中使用该函数。 高级事件处理 但是通常情况下,您希望将HTML和Javascript分开,

  • 问题内容: 我正在尝试在应用程序中实现一项功能,当互联网连接不可用时会显示警报。该警报具有两个操作(“确定”和“设置”),每当用户单击设置时,我都希望以编程方式将其设置为电话设置。 我正在使用Swift和Xcode。 问题答案: 使用 Swift 5.1更新 斯威夫特4.2

  • 我想设置会话点击链接,所以登录后,用户将重定向到上次访问的页面。 例如: 步骤1:用户打开主页。(seesion url设置为主页 第二步:下一步在新选项卡中,用户将打开联系人页面(再次会话变量重置) 第三步:用户进入首页,点击登录链接。(因为没有重新加载页面,所以没有设置会话) 第四步:登录后,用户将重定向到联系人页面。 但这里我想要用户被重定向到用户点击链接登录的地方。 我试着用下面的代码,但

  • 因此,我想让我的网站的电话号码可以点击,所以我使用了以下语法: 当我从桌面的firefox浏览器中单击此电话号码时,它会询问我是否必须使用Skype打开它。 然而,当我从手机上点击它时(尝试了Android银河S3和苹果手机5),什么都没发生。我怎么能拍这个? 我正在使用http://www.themenesia.com/themeforest/truehost/主题,如果有帮助的话。

  • 问题内容: 我需要为移动设备构建一个网页。我只有一件事还没有弄清楚:如何通过单击文本触发电话? 是否可以像电子邮件标签一样输入一个特殊的URL ? 特定于设备的解决方案不是首选。 我知道iPhone会自动识别电话号码并为此创建一个链接,但是如果这也可以用于图像…以及大多数移动设备,那就太好了。 问题答案: 大多数现代设备都支持tel:方案。因此,使用它应该很好。 如果您想将其用于图像,标签可以像处