Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP上的链接点击效果_Php_Html_Session_Variables_Hyperlink - Fatal编程技术网

PHP上的链接点击效果

PHP上的链接点击效果,php,html,session,variables,hyperlink,Php,Html,Session,Variables,Hyperlink,我有一个问题,有点分为两部分(尽管各部分齐头并进)。我开始学习PHP,我想在点击图像时做两件事 我想点击 增加会话变量,例如$\u session['entry'] 重新加载当前页面(比如index.php) 我该怎么做 说清楚一点,我并不是要求有人帮我编写代码,我只是想被指向正确的方向,因为我不太确定最好的方法是什么。 <a href="?incr=1"><img src=.../></a> <?php if($_GET['incr']) $_SES

我有一个问题,有点分为两部分(尽管各部分齐头并进)。我开始学习PHP,我想在点击图像时做两件事

我想点击

  • 增加会话变量,例如
    $\u session['entry']
  • 重新加载当前页面(比如
    index.php
  • 我该怎么做

    说清楚一点,我并不是要求有人帮我编写代码,我只是想被指向正确的方向,因为我不太确定最好的方法是什么。

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

    这应该给你一个想法。

    这样做的方法是将图像链接到“自身”
    $\u服务器['PHP\u 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
    
    • 加载带有链接的图像的页面,例如:“imageClick=1”
    • 在图像上单击,页面将自动加载
    • 如果
      $\u GET['imageClick']
      等于
      1
      则递增会话变量
    • 重定向到不带
      imageClick
      变量的同一页面
    如果您担心浏览器可能会在其历史记录中记住
    index.php?imageClick=1
    ,因此可用于重新加载而无需实际的图像单击:

    • 使用一个表单加载页面,该表单具有方法POST和类型为image的输入元素,名为imageClick(充当提交按钮),值为1
    • 单击“图像”按钮,表单将提交到同一页面
    • 如果设置了
      $\u POST['imageClick\u x']
      `$\u POST['imageClick\u y']
      ,并递增会话变量
    • 重定向到同一页

    您可以对PHP脚本执行AJAX调用,以增加$\u会话['entry']。

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

    <a href="index.php?increment=true">Increment the counter</a>
    
    这假设您已经在某个点初始化了会话变量
    计数器
    。如果您不熟悉上述功能,您可以查看精彩的内容,以解释它们。

    非常有用,谢谢(您的编辑也澄清了我的问题)。
    if (isset($_GET['increment']) && $_GET['increment'] == 'true') {
      $_SESSION['counter']++;
    }