如何使用php确定单击了哪个图像

如何使用php确定单击了哪个图像,php,image,Php,Image,我在我的网页上有多个图像,我将它们用作按钮,我想知道用户单击了哪个图像,并将其发布到另一个表单。我只关心点击了哪个图像,或者是通过将任何值关联为每个图像的标志,并将其发布到其他表单或任何其他方式来完成的。这是我发现的相关链接,但它不起作用。我需要图像的值以进行进一步比较 这是我的代码: <FORM NAME ="form1" METHOD ="POST" ACTION = "SimulatedOutput.php"> <input type="image" name="rate

我在我的网页上有多个图像,我将它们用作按钮,我想知道用户单击了哪个图像,并将其发布到另一个表单。我只关心点击了哪个图像,或者是通过将任何值关联为每个图像的标志,并将其发布到其他表单或任何其他方式来完成的。这是我发现的相关链接,但它不起作用。我需要图像的值以进行进一步比较

这是我的代码:

<FORM NAME ="form1" METHOD ="POST" ACTION = "SimulatedOutput.php">
<input type="image" name="rateButton[1]" src="observation1.jpg" width="400" height="300" value="1">T
<input type="image" name="rateButton[2]" src="observation2.jpg" width="400" height="300" value="1">T
<input type="image" name="rateButton[3]" src="observation3.jpg" width="400" height="300" value="1">T
<input type="image" name="rateButton[4]" src="observation4.jpg" width="400" height="300" value="1">T

SimulatedOutput.php
<?php
if ( isset( $_POST['rateButton'] ) ) {
        foreach ( $_POST['rateButton'] as $key => $value ) {
        echo 'Image number '.$key.' was clicked.';

    }
    if(name==rateButton[1])
    {
      //do something as required
    }
    else if(name==rateButton[2])
    {   .....}

    }
?>

T
T
T
T
SimulatedOutput.php

即使您的方式可能不是最优雅的方式,假设这正是您想要的方式,那么这段代码可能会有所帮助:

<?
    if( $_POST['rateButton'] ) {
        $keys = array_keys($_POST['rateButton']);
        $clicked = $keys[0];
        print "Image pressed: $clicked";
    }
?>

<form method="post">
    <input type="image" name="rateButton[1]" src="observation1.jpg" width="400" height="300" value="1">T
    <input type="image" name="rateButton[2]" src="observation2.jpg" width="400" height="300" value="1">T
    <input type="image" name="rateButton[3]" src="observation3.jpg" width="400" height="300" value="1">T
    <input type="image" name="rateButton[4]" src="observation4.jpg" width="400" height="300" value="1">T
</form>

T
T
T
T

您只需使用

HTML代码:

<a href="SimulatedOutput.php?value=1"><img src="http://yoursite.com/image1.jpg"></a>
<a href="SimulatedOutput.php?value=2"><img src="http://yoursite.com/image2.jpg"></a>
<a href="SimulatedOutput.php?value=3"><img src="http://yoursite.com/image3.jpg"></a>

这是一个非常简单的代码,可以让您了解基础知识。您可以在这里使用开关,或者简单地获取值并基于它执行您的功能。但是上面的代码应该会为您提供足够的信息,让您可以开始使用。

如果您需要以post的形式使用,一种方法是使用设置为post的表单:

<form method=POST id=x>
  <input type="image" name="rateButton[1]" src="observation1.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[2]" src="observation2.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[3]" src="observation3.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[4]" src="observation4.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
</form>
<?php
if ( isset( $_POST['rateButton'] ) ) {
    foreach ( $_POST['rateButton'] as $key => $value ) {
        echo 'Image number '.$key.' was clicked.';
        switch ($key) {
                case 1:
                // Do something for button 1
                break;
                ///...
        }
    }

}
?>

T
T
T
T

恐怕您需要更改名称。此外,还可以看到
var\u dump($\u POST)设置
输入
标记如何在页面上显示图像?您希望将图像用作右侧的按钮。为什么不将
img
标记封装在
块中?图像中的数据是您唯一需要的数据吗?如果是这种情况,您可以将图像包装在其中,并向链接(href)添加一个GET参数。我应该如何做?可能相关:即使使用我发布的php脚本,我也无法通过php脚本获得任何输出。问题可能出在其他地方。上面的代码可以工作并打印单击图像的数量,这是您想要的。您能详细说明一下这个href的意思吗?如果我将脚本的名称而不是像这样的链接放在所有图像上,我会使value=1,然后是2,然后是3,依此类推。给href赋值不会给您任何结果。Href只是一个HTML标记,用于在图像、文本或任何其他内容上添加链接。这样,您就为SimulatedOutput.php文件分配了一个值,然后可以使用我上面编写的代码检索该文件。我将编辑代码以使其更清晰。请在这之后接受我的回答,或者至少给我一个加号:D
<form method=POST id=x>
  <input type="image" name="rateButton[1]" src="observation1.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[2]" src="observation2.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[3]" src="observation3.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[4]" src="observation4.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
</form>
<?php
if ( isset( $_POST['rateButton'] ) ) {
    foreach ( $_POST['rateButton'] as $key => $value ) {
        echo 'Image number '.$key.' was clicked.';
        switch ($key) {
                case 1:
                // Do something for button 1
                break;
                ///...
        }
    }

}
?>