PHP链接点击效果

时间:2011-09-28 23:17:54

标签: php html session variables hyperlink

我有一个问题有点两分(尽管这些部分是相辅相成的)。我已经开始学习PHP,我想在点击图像时做两件事。

我希望点击

  1. 增加会话变量,比如$_SESSION['entry']
  2. 重新加载当前页面(例如index.php)。
  3. 我应该怎么做?

    要说清楚,我不是要求有人为我编码,我只是想指出正确的方向,因为我不太确定最好的方法是什么。

5 个答案:

答案 0 :(得分:1)

执行此操作的方法是将图像链接到“自身”$_SERVER['PHP_SELF'],或者只是链接到/index.php,并检查会话以查看是否设置了该值,如果是这样,则增加它。

<?php

session_start();
if (isset($_SESSION['entry'])) {
    $_SESSION['entry']++;
} else {
    $_SESSION['entry'] = 1;
}

// if entry is greater than some value in your DB, then set it back to 1

答案 1 :(得分:1)

好吧,如果href指向同一页面,则锚点链接会“重新加载”页面。所以,你需要做的就是告诉PHP你想增加会话变量。您可以使用GET变量来执行此操作:

<a href="index.php?increment=true">Increment the counter</a>

然后在index.php

if (isset($_GET['increment']) && $_GET['increment'] == 'true') {
  $_SESSION['counter']++;
}

这假设您已经在某个时刻初始化了会话变量counter。如果您不熟悉它们,可以查看精彩的PHP docs来解释上面使用的函数。

答案 2 :(得分:0)

<a href="?incr=1"><img src=.../></a>
<?php  if($_GET['incr']) $_SESSION['entry']++; ?>

这应该会给你一个想法。

答案 3 :(得分:0)

  • 加载包含图片的图片,其中包含链接:“?imageClick = 1”,例如
  • 点击图片,点击页面自动加载
  • 如果$_GET[ 'imageClick' ]等于1,则增加会话变量
  • 在没有imageClick变量
  • 的情况下重定向到同一页面

如果您担心浏览器在其历史记录中可能会记住index.php?imageClick=1,因此可以在没有实际图片点击的情况下重新加载:

  • 使用包含方法POST和输入元素类型为image的表单加载页面,名为imageClick(充当提交按钮),值为1
  • 在图像按钮上单击表单将提交到同一页面
  • 如果设置了$_POST[ 'imageClick_x' ]`$_POST[ 'imageClick_y' ]并增加了会话变量
  • 重定向到同一页面

答案 4 :(得分:0)

你可以对一个增加$ _SESSION ['entry']的PHP脚本进行AJAX调用。