【问题标题】:Activate PHP Session when click on a link单击链接时激活 PHP 会话
【发布时间】:2012-03-21 15:06:58
【问题描述】:

现在我的 php 会话在我加载页面时加载。代码如下所示:

<?php
session_start();
$_SESSION['started'] = true;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>First page</title>
    </head>
    <body>
        <a href="WHEN CLICK ON THIS LINK I WANT THE PHP SESSION TO START">LINK</a>
    </body>
</html>

我想要做的不是在页面加载时加载 PHP 会话,而是在用户单击链接时加载它。

【问题讨论】:

  • 我能看到这种情况发生的唯一方法是,如果您对启动会话的页面进行 ajax 调用。然而,有什么意义呢?除非它还调用 session_start();

标签: php session hyperlink onclick


【解决方案1】:
<?php 
session_start(); 
if(isset($_GET['link'])) {
    $_SESSION['started'] = true;
}
?>

<a href="?link"> LINK </a>

【讨论】:

  • 酷 - 但是如果我想将用户发送到新页面并开始会话怎么办。当我点击链接时,这两件事都会发生?
  • 您可以通过确定用户是否点击了链接来做到这一点。例如,您可以定义一个重定向到另一个页面 &lt;a href="anotherpage.php?link"&gt; LINK &lt;/a&gt; 的锚标记,并在 anotherpage.php 中定义相同的条件(参考我的回答),您就可以开始了。
  • 如果对您有帮助,请不要忘记将帖子标记为已回答。 :)
【解决方案2】:

你可以的

<?php 

if(isset($_GET['session'])) {
    session_start(); 
     $_SESSION['started'] = true;

}
?>

<a href="?session=1">LINK</a>

这会重新加载整个页面,AJAX 调用会更好

【讨论】:

    猜你喜欢
    • 2013-07-08
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 2010-11-10
    • 2011-12-05
    • 1970-01-01
    • 2012-02-06
    • 2013-06-09
    相关资源
    最近更新 更多