繁体   English   中英

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

[英]How to determine which image has been clicked using php

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

这是我的代码:

<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])
    {   .....}

    }
?>

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

<?
    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>

您只需使用<a>即可使用该图像

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>

PHP代码:

if(isset($_GET['value'])) 
{
    $your_value = $_GET['value'];
}

if($your_value=="1")
{
   echo 'Image number '.$your_value.' was clicked.';
}
else if($your_value=="2")
{   
    echo 'Image number '.$your_value.' was clicked.';

}else{
    echo 'Image number '.$your_value.' was clicked.';
}

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

如果您需要将其作为帖子进行,一种方法是使用方法设置为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;
                ///...
        }
    }

}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM