2011-08-10 9 views
-3

$額を表示します。しかし、それは起こっていない。PHPを使用してこれらの値を表示する方法は?

$amount = $_POST['amount']; 
$message = "Thanks. We've got $amount from you."; 
echo $message; 

これで、$ amountは表示されません。どうして?

+1

? –

+1

$ _POST ['amount']は空ではありませんか?それを直接エコーし、あなたが得るものを見てみてください。 – Andrew

+0

私のために働く:http://codepad.org/HJ9lHTHO。 '$ _POST ['amount']'が空でない限り、動作します。 –

答えて

3

おそらく、$ _POST ['amount']の値が設定されていない可能性があります。 $ _POST配列には、1つのページに投稿された要素しか含まれていないことに注意してください。このように渡す要素:page.php?amount = 2.99は、$ _GETと$ _REQUESTの超大域のみに存在します。 $ _REQUEST配列は、$ _GET配列と$ _POST配列の合併です。基本的な検証や少なくともデフォルト値を追加することをお勧めします。

$amount = $_POST['amount'] ? $_POST['amount'] : 0; //sets default to 0 if nothing was passed 
$message = "Thanks. We've got $amount from you."; 
echo $message; 

OR:

**表示されているもの
$message = $_POST['amount'] ? "Thanks. We've got $_POST[amount] from you." : "Sorry, you didn't enter an amount."; //changes the message if no value was passed, otherwise uses your approach but gets the value directly from $_POST 
echo $message; 
関連する問題