2013-05-29 42 views
0

我已經得到了我的網頁多張圖片,我用它們作爲一個按鈕被點擊的形象,我想知道單擊的圖像由用戶並將其張貼到另一種形式。我只關心點擊哪個圖像,或者將任何值作爲標記關聯到每個圖像並將其張貼到其他表單或任何其他方式。這裏是我發現的相關鏈接,但它不起作用PHP multiple image button submit form。我需要圖像的價值作進一步比較。如何確定使用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]) 
    { .....} 

    } 
?> 
+0

恐怕你將需要更改命名。另外它會很有趣,看到var_dump($ _ POST);' –

+1

如何設置一個'輸入'標籤顯示您的網頁上的圖像?您想要將圖像用作右鍵。你爲什麼不把'img'標籤放在''塊中? – Hanut

+0

數據是否是您需要的唯一數據?如果是這種情況,您可以將圖像封裝在中,並向鏈接(href)添加GET參數。 – Putr

回答

1

即使你正在做的方式未必是最優雅的方式,假設這正是你怎麼想這樣做的話,或許這一段代碼將幫助:

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

即使發佈了我的腳本,我也沒有通過我的php腳本得到任何輸出 – Maria

+0

然後問題可能在其他地方。上面的代碼工作並打印點擊圖像的數量,這是你想要的。 – DannyB

1

您可以簡單地使用利用<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或者簡單地獲取值並根據它來執行你的功能。但是上面的代碼應該給你足夠的信息來開始。

+0

你能詳細介紹一下這個href是什麼意思,如果我把我的腳本的名字,而不是像這樣的鏈接這將是正確的所有圖像我做價值= 1然後2然後3等等。 – Maria

0

如果你需要做它作爲一個帖子,這樣做是與設置後的方法的形式的一種方法:

<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; 
       ///... 
     } 
    } 

} 
?>