2009-06-24 7 views
1

Je sais que c'est une variable globale PHP mais je ne suis pas sûr, qu'est-ce qu'il fait? J'ai également lu sur le site officiel de php, mais je n'ai pas compris.

+2

Je sais que c'est tatillon, mais PHP se réfère à elle comme :) superglobale. –

+0

en effet, c'est superglobal. –

Répondre

5

Vous pouvez lire sur les bases de PHP. Essayez de lire quelques tutoriels de démarrage.

$_POST est une variable utilisée pour saisir des données envoyées via un formulaire Web.

Voici une simple page décrivant $_POST et comment l'utiliser de W3Schools: PHP $_POST Function

En gros:

Utilisez HTML comme celui-ci sur votre première page:

<form action="submit.php" method="post"> 
    Email: <input type="text" name="emailaddress" /> <input type="submit" value="Subscribe" /> 
</form> 

Puis submit.php utiliser quelque chose comme ceci:

<? 
    echo "You subscribed with the email address:"; 
    echo $_POST['emailaddress']; 
?> 
+0

Il s'agit également d'un tableau. –

+0

Absolument. Les informations envoyées via les données post sont triées dans la variable $ _POST superglobal en tant que tableau indexé par le nom de l'élément d'entrée sur le formulaire. – Travis

+0

@Sayed, oui, c'est un tableau associé, similaire à un hachage dans d'autres langues.http: //www.w3schools.com/php/php_arrays.asp – Josh

0

Il contient toutes les valeurs publiées à partir d'un formulaire HTML dans ce script.

+0

vous voulez dire, quoi que nous publions de html, il tiendra ces valeurs ?? –

+0

Ceci n'est vrai que lorsqu'un formulaire avec un type POST est utilisé. Vraiment, les formulaires HTML ne sont que des abstractions au-dessus des requêtes HTTP POST, d'où proviennent réellement les données de $ _POST. –

+0

tout ce qui provient d'entrées contenues dans un formulaire

:) –

1

Il est utilisé pour stocker l'entrée CGI via un POST envoyé à votre page.

Exemple:

 

Your page contains: 

<form action="welcome.php" method="post"> 
Name: <input type="text" name="fname" /> 
Age: <input type="text" name="age" /> 
<input type="submit" /> 
</form> 


One the user submits the values input into the form, you can access those variables through $_POST using the names you provided for the input tags. 

Welcome <?php echo $_POST["fname"]; ?>!<br /> 
You are <?php echo $_POST["age"]; ?> years old. 

1

$ _POST est utilisé pour récupérer les valeurs passées à votre page via une requête POST. Par exemple, votre page utilise un formulaire pour transmettre des données à une autre page de votre application. Votre formulaire aurait

<form method="post"> 

pour transmettre ces valeurs via POST.

Il est associé à $ _GET qui effectue la même fonction pour les requêtes GET.

Si vous voulez être en mesure de faire référence GET/valeurs POST, vous pouvez utiliser _REQUEST $

1

Vous pouvez saisir des valeurs postales de formes:

Exemple:

<form method="POST"> 
    <input type="text" name="txtName" value="Test" /> 
</form> 

Pour obtenir ceci vous utilisera:

$_POST["txtName"]; 
1

Il contient des données envoyées par courrier HTTP, le plus souvent f à partir d'un formulaire HTML.

<form action="page.php" method="post"> 
<input type="text" name="email" ...> 
... 
</form> 

sera accessible par

$_POST["email"] 
1

Il contient les données soumises par la méthode POST, et seule la méthode POST, par rapport aux données fournies par la méthode GET. La variable superglobale $ _REQUEST contient les données $ _POST et $ _GET.

+0

Vous voulez dire, si le formulaire est posté en utilisant la méthode post, tous les variable à l'intérieur de cette forme sont également accessibles via $ _REQUEST ['variable'] –

+0

Les données POST sont également accessibles depuis $ _REQUEST. Je ne l'utilise pas moi-même, mais je l'ai vu utilisé pour rendre les types de méthodes de formulaire interchangeables. –

1

Lorsque des données est affichée via un formulaire au serveur, vous pouvez y accéder par le tableau $ _POST:

<form method="post"> 
    <p><input type="text" name="firstname" /></p> 
    <p><input type="submit" /></p> 
</form> 

-

<?php 

    if ($_POST) 
    print $_POST["name"]; 

?> 

pas toutes les données sont envoyées par _POST $ par. Les téléchargements de fichiers sont effectués via $ _FILES.

4

Il y a généralement 2 façons d'envoyer une requête HTTP à un serveur:

  • GET
  • POST

Supposons que vous avez une forme < > sur une page.

 
<form method="post"> 
    <input type="text" name="yourName" /> 
    <input type="submit" /> 
</form> 

Notez que l'attribut "method" du formulaire est défini sur "post". Ainsi, dans le script PHP qui reçoit cette requête HTTP, $ _POST ['votrenom'] aura la valeur lors de la soumission de ce formulaire.

Si vous aviez utilisé la méthode GET dans votre formulaire:

 
<form method="get"> 
    <input type="text" name="yourName" /> 
    <input type="submit" /> 
</form> 

Alors $ _GET [ « yourName »] aura la valeur envoyée par la forme. $ _REQUEST ['votrenom'] contient toutes les variables qui ont été publiées, qu'elles aient été envoyées par GET ou POST.

+0

cela a du sens pour moi maintenant. –

1

Comme défini par le Hypertext Transfer Protocol specifications, il existe plusieurs types de demandes qu'un client (navigateur Web) peut effectuer pour une ressource (serveur Web).

Les deux types de requêtes Web les plus courants sont GET et POST. PHP charge automatiquement toutes les données de demande client dans les tableaux globaux, $_GET et $_POST, en fonction du type de requête Web reçue. Le type de demande est transparent pour l'utilisateur du navigateur Web et est simplement basé sur ce qui se passe dans la page. En général, cependant, tout lien normal sur lequel vous cliquez génère une demande GET et tout formulaire que vous soumettez génère une demande POST.

Si vous cliquez sur un lien qui va à « http://example.com/index.php?x=123&y=789 », puis index.php aura son tableau $_GET peuplé de $_GET['x'] = '123' et $_GET['y'] = '789'.

Si vous soumettez un formulaire qui a la structure suivante:

<form action="http://example.com/index.php" method="post"> 
<input type="text" name="x"> 
</form> 

Ensuite, le script de réception, index.php, aura son tableau $_POST peuplé de $_POST['x'] = 'whatever you typed into the textbox named x';

1

Il existe deux façons d'envoyer des données d'un formulaire à une application Web, GET et POST. GET envoie les données dans le cadre de la chaîne d'URL: http://www.example.com/get.html?fred=1&sam=2 est un exemple de ce que cela ressemblerait. Il y a quelques problèmes avec l'utilisation pour tout le traitement, un des plus grands est que chaque navigateur a une longueur maximum différente pour la chaîne de requête, ainsi vous pouvez avoir vos données tronquées.

Le POST les envoie séparément de l'URL. Vous évitez la limite de longueur courte, plus vous pouvez envoyer des données binaires ou cryptées avec POST.

Dans le premier exemple ci-dessus, PHP peut récupérer les valeurs envoyées par $ _GET ['fred'] et $ _GET ['sam']. Vous utiliseriez $ _POST à ​​la place si le formulaire était POSTé.

Si vous vous demandez quelle méthode vous devez utiliser, start here

Questions connexes