【问题标题】:How can I set a variable in PHP when I click an image?单击图像时如何在 PHP 中设置变量?
【发布时间】:2012-02-28 00:10:26
【问题描述】:

我想要的是出现两张图片,当点击一张图片时,该图片被设置为获胜者。我有两个变量,$left 和 $right。当说左图被点击时,我想要 $left = 'winner';和 $right = '失败者';我该怎么做?

【问题讨论】:

  • 仅 PHP 无法做到这一点。 PHP 仅进行服务器端处理,服务器不知道用户何时或是否单击图像(除非该图像具有链接或某种 JavaScript onClick 操作)。您可能需要为此使用 AJAX。
  • 忘记 PHP,你不希望你的服务器做这种工作。只需使用 JavaScript。如果你不了解 JS,它的语法如果与 PHP 非常相似,那么它应该不会很难学习。见pageresource.com/jscript
  • PHP 单独可以做到这一点,但你为什么要这样做呢?您可以使用 get vars 使每个图像 href = 当前页面来识别获胜者。例如:/somepage.php?winner=left 然后相应地处理您的显示。你没有提到这样的事情的目的是什么——比如可能是某种测试——所以我们不知道你是否想存储结果或任何东西。无论哪种方式,根据您的简短问题,JS 可能是处理此问题的更好方法。

标签: php javascript jquery html image


【解决方案1】:

PHP 是服务器端,这意味着你不能这样做,在 PHP 中你正在生成一个 html 文档,你不能以这种方式处理用户事件。

你可以做的是: - 您可以使用 JavaScript(如果您需要在服务器中处理此事件,还可以使用 ajax) - 图片是一个 PHP 页面的链接(如果你想的话,它本身),你传递一个关于用户点击的图片的参数,但是页面会被重新加载。

这真的取决于用户点击图片后你要做什么。

【讨论】:

    【解决方案2】:
    1. 在 HTML 中,有这样的代码:

    2. 在 Web 服务器上创建脚本 vote.php。这将收到投票,因此是 HTTP GET 方法,名称/值对是相应的投票。您需要获取此脚本来更新您的投票系统并将新的 HTML 页面发送到浏览器。

    这是一个非常简化的系统。更复杂的方法可以包括使用 AJAX 并确保不会发生多重投票。

    【讨论】:

      【解决方案3】:

      你为什么不用这种方式使用javascript:

      <img id="left" value="" onClick="checkWinner(this.id)">
      <img id="right" value="" onClick="checkWinner(this.id)">
      
      <script type="text/javascript">
      function checkWinner(clicked_id)
      {
          var winner = clicked_id;
          var winningPicture = document.getElementById(clicked_id);
          var losingPicture = "";
      
          if (winner == "right") {
              losingPicture = document.getElementById('left');
          }
      
          else { 
              losingPicture = document.getElementById('right');
          }
      
          winningPicture.value = "winner";
          losingPicture.value = "loser";
      
          winningPicture.style.border = "2px solid green";
          losingPicture.style.border = "2px solid red";
      

      }

      我知道这有点啰嗦,但是您可以使用 PHP 执行一些操作,例如 POST 到发送图像值的脚本。

      这是我的建议。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-28
        • 1970-01-01
        • 2012-06-03
        • 1970-01-01
        • 2023-04-10
        • 1970-01-01
        • 2014-02-03
        相关资源
        最近更新 更多