<?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
?>
$_POST
$HTTP_POST_VARS [deprecated]
$_POST -- $HTTP_POST_VARS [deprecated] — HTTP POST variables
Descrição
Um array associativo de variáveis passados para o script atual via método HTTP POST.
$HTTP_POST_VARS contém a mesma informação inicial, mas não é uma superglobal. (Note que $HTTP_POST_VARS e $_POST são variáveis diferentes e que o PHP manuseia-as diferentemente)
Histórico
| Versão | Descrição |
|---|---|
| 4.1.0 | Introduzida a $_POST que torna obsoleta a $HTTP_POST_VARS. |
Exemplos
Exemplo #1 Exemplo da $_POST
<?php
echo 'Hello ' . htmlspecialchars($_POST["name"]) . '!';
?>
Assumindo que o usuário tenha postado name=Hannes
O exemplo acima irá imprimir algo similar a:
Hello Hannes!
Notas
Nota: Esta é uma 'superglobal', ou global automática, variável. Isto simplismente significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.
$_POST
jairhumberto at gmail dot com
31-Jul-2008 02:26
31-Jul-2008 02:26
php dot net at bigbadaboom dot net
15-Jul-2008 09:06
15-Jul-2008 09: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 12:49
20-Jun-2008 12: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 01:49
20-May-2008 01: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>
<?
}
?>
