PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

$_FILES> <$_GET
Last updated: Fri, 14 Nov 2008

view this page in

$_POST

$HTTP_POST_VARS [非推奨]

$_POST -- $HTTP_POST_VARS [非推奨]HTTP POST 変数

説明

HTTP POST メソッドで現在のスクリプトに渡された変数の連想配列です。

$HTTP_POST_VARS は同じ情報を持っていますが、 これはスーパーグローバルではありません (HTTP_POST_VARS$_POST は違う変数であり、PHPはそれぞれ別に扱います)。

変更履歴

バージョン 説明
4.1.0 $_POST が導入され、 $HTTP_POST_VARS は非推奨となりました。

例1 $_POST の例

<?php
echo 'Hello ' htmlspecialchars($_POST["name"]) . '!';
?>

ユーザが name=Hannes と POST したとします。

上の例の出力は、たとえば 以下のようになります。

Hello Hannes!

注意

注意: これは 'スーパーグローバル' あるいは自動グローバル変数と呼ばれるものです。 スクリプト全体を通してすべてのスコープで使用することができます。 関数やメソッドの内部で使用する場合にも global $variable; とする必要はありません。



$_FILES> <$_GET
Last updated: Fri, 14 Nov 2008
 
add a note add a note User Contributed Notes
$_POST
jairhumberto at gmail dot com
31-Jul-2008 04:26
<?php

foreach($_POST as $k=>$v) $$k=$v;
//to use $_POST["example"] as $example

foreach($_GET as $k=>$v) $$k=$v;
//to use $_GET["example"] as $example

//or better:

foreach(${"_" . $_SERVER["REQUEST_METHOD"]} as $k=>$v) $$k=$v;
//to use $_GET["example"] or $_POST["example"] as $example

?>
php dot net at bigbadaboom dot net
15-Jul-2008 11:06
Make sure your submit buttons (ie. <input type="submit"> etc) have a 'value' attribute.  If they don't, the value won't appear in $_POST and so isset($_POST["submit"]) won't work either.

Example:

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

isset($_POST["submit"]) returns false

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

isset($_POST["submit"]) returns true.

This might seem obvious for text buttons since they need a label anyway.  However, if you are using image buttons, it might not occur to you that you need to set a value attribute as well.  For example, the value attribute is required in the following element if you want to be able to detect it in your script.

<input type="image" name="submit" src="next.gif" value="Next">
paul dot chubb at abs dot gov dot au
20-Jun-2008 02:49
Nasty bug in IE6, Apache2 and mod_auth_sspi. Essentially if the user presses the submit button too quickly, $_POST (and the equivalents) comes back empty. The workaround is to set Apache's KeepAliveTimeout to 1. This would mean that the user would need to push submit within a second to trigger the issue.
telconstar99 at hotnospampleasemail dot com
20-May-2008 03:49
<?
//If we submitted the form
if(isset($_POST['submitMe']))
{
     echo(
"Hello, " . $_POST['name'] . ", we submitted your form!");
}
//If we haven't submitted the form
else
{
?>
    <form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
    <input type="text" name="name"><br>
    <input type="submit" value="submit" name="submitMe">
    </form>
<?
}
?>

$_FILES> <$_GET
Last updated: Fri, 14 Nov 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites