如何使用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;
///...
}
}
}
?>