2012-03-18 3 views
0

可能性の重複$ _POST機能を使用して、空のデータ受信:
php $_POST array empty upon form submissionはなぜ掲示HTMLフォームのテキストフィールドからPHP側で

を私はHTML形式のテキストフィールドを投稿する簡単なテストを行いますデータをPHPサーバーに送信します。そして、PHPサーバー側では、$ _POST []関数を使用して、投稿されたデータを取得してください。 しかし、常に受信される空の(ヌル)データがあります。以下に、私がテストしたHTMLコードとPHPスクリプトを添付します。 私が間違っていた場所を私が指摘できれば告発されましたか?

---- HTMLコード--- senddata.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=big5" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<form action="receivedata.php" method="post" enctype="application/x-www-form-urlencoded" name="form1" id="form1"> 
    <label>_id 
    <input name="_id" type="text" id="_id" /> 
    </label> 
    <br /> 
    <label>Send 
    <input type="submit" name="Submit" value="Send" /> 
    </label> 
</form> 
</body> 
</html> 

--- PHPスクリプトは----- receivedata.php

<?php 

echo $_SERVER['SERVER_NAME']."<BR/>" ; 
$id = $_post['_id']; 
if (isset($id)) 
{ 
    echo "Data set ready!<br/>"; 
    echo "id=".$id."<br/>";  
} 
else 
{ 
    echo "Data set is not ready!<br>"; 
} 
?> 

との結果表示ブラウザ:

192.168.0.108 
Data set is not ready! 
+2

あなたの例では誤植かもしれませんが、 '$ _POST'ではなく' $ _POST'が必要です。 PHP変数名は大文字と小文字が区別されます –

+0

注: 'enctype =" application/x-www-form-urlencoded "はデフォルトのフォームエンコーディングです.HTMLに書き込む必要はありません。http://www.w3.org/TR/html401 /interact/forms.html#h-17.13.4 – hakre

+0

あなたが気にしない場合は、投票した理由をご記入ください。ありがとう! – cmh

答えて

2

$_POST[]は機能ではなく、言語を構成しますにはの項目を$ _POST配列に追加します。
$_POSTは変数ですが、代わりに$_postという変数を使用していません。

+0

本当に!問題は解決された。 $ _POST ['_ id']には大文字を使うべきです。どうもありがとう ! – cmh

関連する問題