2011-10-03 57 views
0

我試圖用POST發送數據,但調用var_dump函數時結果爲array(0)

使用帶AJAX的post方法的其他形式導致變量的值正確,並且HTML不起作用。

爲什麼會發生這種情況?

形式:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     <html xmlns="http://www.w3.org/1999/xhtml"> 
     <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
     <title>Untitled Document</title> 
     </head> 

     <body> 
     <form target="_new" enctype='application/x-www-form-urlencoded' action="include/php/produtos/romaneio/prueba.php" method="post"> 
     <input type="text" value="12" id="a" /> 
     <input type="submit" /> 
     </form> 
     </body> 
     </html> 

在PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <title>Untitled Document</title> 
    </head> 

    <body> 
    <? var_dump($_POST); 
    ?> 
    </body> 
    </html> 
+1

你爲什麼VAR傾銷'$ GLOBALS'?您應該變量轉儲'$ _POST'(或者至少是$ _REQUEST')[用於調試目的]。除非你已經註冊全局變量(我會** ** ** **)。 –

+0

@Brad:我還建議不要在這裏使用'$ GLOBALS',這不僅僅是因爲它是JIT初始化的。然而,註冊全局變量與它無關:['$ GLOBALS'無論如何都包含'$ _POST'](http://codepad.org/9Tj25yeq)。 –

+1

@ TomalakGeret'kal:同意,當我看到有人使用'$ GLOBALS'時,我會擔心。 :聳聳肩: –

回答

3

形式元素的值將只被添加到$_POST如果元件使用name=命名。因此,請添加name="d"而不是id="d"

+0

謝謝你的答案 – ricbecen

3

你忘了給你的input a name;該表單因此沒有可提交的內容。

<form target="_new" enctype='application/x-www-form-urlencoded' action="include/php/produtos/romaneio/prueba.php" method="post"> 
    <input type="text" value="12" name="a" /> 
    <input type="submit" /> 
</form> 

(該id屬性是其他的東西,定位於通過,比如說,JavaScript或CSS與DOM的工作。)