Services webmasters
Partenaires
Jeux concours gratuits
 
Les variables
<<<
Formulaires HTML (GET et POST) Cookies HTTP
>>>

4.3.5 Variables externes à PHP
4.3 Les variables
4 Référence
 Manuel PHP

->Formulaires HTML (GET et POST)
Cookies HTTP
Cas des points dans les noms de variables
Détermination du type des variables

4.3.5.1 Formulaires HTML (GET et POST)

Lorsqu'un formulaire est envoyé à un script PHP , toutes les variables du formulaire seront automatiquement disponibles dans le script. Par exemple, considérons le formulaire suivant:

Exemple avec un formulaire simple

<form action="foo.php" method="post">
    Name:  <input type="text" name="username"><br>
    Email: <input type="text" name="email"><br>
    <input type="submit" name="submit" value="Submit me!">
</form>

Suivant votre configuration particulière et vos préférences, vous avez plusieurs méthodes pour accéder aux variables du formulaires. Voici quelques exemples :

Accéder simplement à des variables de formulaires POST

<?php 
// Disponibles depuis
<TT>PHP</TT>
4.1.0

   
print $_POST['username'];
   print
$_REQUEST['username'];

   
import_request_variables('p', 'p_');
   print
$p_username;

// Disponibles depuis
<TT>PHP</TT>
3.

   
print $HTTP_POST_VARS['username'];

// Disponibles si la directive register_globals = on.  Depuis
//
<TT>PHP</TT>
4.2.0 la valeur par défaut de cette directive est register_globals = off.
// Utiliser ou présumer cette méthode est découragé.

   
print $username;
?>

Utiliser un formulaire de type GET est similaire, hormis le fait que vous deviez utiliser les variables prédéfinies du GET à la place. GET s'applique aussi à la QUERY_STRING (les informations disponibles après le '?' dans une URL). De ce fait, par exemple, http://www.exemple.com/test.php?id=3 contient les données de GET, qui sont accessibles via $_GET['id'] . Voyez aussi $_REQUEST et import_request_variables .

Note

Les tableaux superglobaux , comme $_POST et $_GET , sont disponibles depuis PHP 4.1.0

Comme nous l'avons déjà dis, avant PHP 4.2.0 la valeur par défaut de register_globals était on . Dans PHP 3 elle était toujours à on. La communauté PHP n'encourage personne à utiliser cette directive et privilégie la valeur off et un code accordé.

Note

La directive de configuration magic_quotes_gpc affecte les valeurs de GET, POST et cookies. Si elle est activée, une valeur comme celle de (C'est " PHP !") sera magiquement transformée en (C\'est \" PHP !\"). La protection des caractères est nécessaire pour l'insertion dans les bases de données. Voyez aussi les fonctions addslashes , stripslashes et magic_quotes_sybase .

PHP comprend aussi les tableaux dans le contexte des formulaires. (voir aussi la FAQ ). Vous pouvez, par exemple, grouper des variables ensembles, ou bien utiliser cette fonctionnalité pour lire des valeurs multiples d'un menu déroulant. Par exemple, voici un formulaire qui se poste lui même des données, et les affiche :

Variables de formulaires complexes

<?php
if ($_POST['action'] == 'submitted') {
    print
'<pre>';

    
print_r($_POST);
    print
'<a href="'. $_SERVER['PHP_SELF'] .'">Essayez à nouveau</a>';

    print
'</pre>';
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Name:  <input type="text" name="personal[name]"><br>
    Email: <input type="text" name="personal[email]"><br>
    Beer: <br>
    <select multiple name="vin[]">
        <option value="bordeaux">bordeaux</option>
        <option value="beaujolais">beaujolais</option>
        <option value="loire">loire</option>
    </select><br>
    <input type="hidden" name="action" value="submitted">
    <input type="submit" name="submit" value="submit me!">
</form>
<?php
}
?>

En PHP 3, la syntaxe des tableaux HTML est limitée aux tableaux uni-dimensionnels. En PHP 4, ces limitations ont été levées.

Sommaire :

<< Formulaires HTML (GET et POST) >>
Les variables Variables externes à PHP Cookies HTTP
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -