2013-02-02 50 views
0

我有以下的HTML表格我正在測試。HTML表單不能與圖像提交按鈕一起使用?

<html> 

<head> 
<link href = "style.css" rel = "stylesheet" type = "text/css"> 
</head> 

<form action = "test1.php" enctype = "multipart/form-data" method = "POST"> 
<input type = "hidden" name = "playno" value = "testing"> 
<input type = "image" src = "uploads/defb.png" name = "submit" value = "submit"/> 
</form> 

</html> 

下被保存在 「test1.php」:

<?php 

$hiddenvalue = $_POST['playno']; 

if (isset($_POST['submit'])){ 
echo "OK"; 
} 
else 
{ 
echo "error"; 
} 

?> 

在broswer當我打印$ hiddenvalue我回到值 「測試」。然而,每次輸出「錯誤」時,都不是「OK」。

我將不勝感激任何幫助。這讓我瘋狂! 非常感謝提前。

+0

你沒有發送「提交」的文章。你應該檢查你的$ _FILES數組。這可能會有所幫助:http://www.w3schools.com/php/php_file_upload.asp – galchen

+0

除非您在窗體中上傳文件,否則應該使用enctype'application/x-www-form-urlencoded'而不是'multipart/form-data' – tmuguet

+0

對於圖像輸入而言,「value」屬性無效,因此應該將其刪除。 – tmuguet

回答

2

當使用input type="image"時,瀏覽器發送submit_xsubmit_y

所以在PHP,$_POST['submit']將不可用,但$_POST['submit_x']$_POST['submit_y']和將被定義(含有X/Y座標被點擊的圖像的位置)。

+0

謝謝。你完全正確。順便說一句,我不知道你是否可以幫助我解決我的一般問題 - 我知道這聽起來很奇怪,但我有一個帶有多個提交按鈕(如圖像)的頁面;基本上我想知道如何識別哪個按鈕已被按下在數據被髮布到的頁面,所以我可以運行正確的腳本。這原則上是可行的嗎? – Hector

+1

如果您有多個圖像提交按鈕,則只有被點擊的按鈕將在POST請求中發送。假設你有'submit1'和'submit2'按鈕,如果你點擊'submit1',你將有'$ _POST ['submit1_x']'但不是'$ _POST ['submit2_x']',如果你點擊' submit2'你將擁有'$ _POST ['submit2_x']'。 – tmuguet

+0

乾杯。是的,我只是測試了一下。非常感謝。 – Hector

-1
<input type = "image" src = "uploads/defb.png" name = "submit" value = "submit"/> 

變化:

<input type = "submit" name = "submit" value = "submit"/> 

由於輸入didint有這種類型的

創建輸入 HTML風格

<input type = "submit" name = "submit" value = "submit" id="button" /> 

CSS

#button { 

background:url("uploads/defb.png"); 
border:0; 
outline:0; 

} 
+1

'input type =「image」'在HTML中定義:http://www.w3.org/TR/html-markup/input.image.html – tmuguet

+0

感謝您的回覆只有CSS看起來沒有工作。有任何想法嗎? – Hector

1

只是形式內補充一點:

<input type="hidden" name="submit" value="submit"/> 

,可以接收你的PHP的$_POST['submit']