Effet Accordéon

Section 1

Mauris mauris ante, blandit et, ultrices a, suscipit eget. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio.

Section 2

Sed non urna. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor aliquet laoreet, mauris turpis velit, faucibus interdum tellus libero ac justo.

Section 3

Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.Phasellus pellentesque purus in massa.

  • List item one
  • List item two
  • List item three

mardi 9 avril 2013

Gestion des formulaires en PHP

Gestion des formulaires en PHP
.1 GET et POST
Le but est de récupérer le contenu des champs d'un formulaire HTML dans notre code PHP pour
pouvoir   le  traiter.  Lorsqu'un  formulaire est  envoyé à un  script  PHP,   toutes   les variables  seront
disponibles automatiquement dans le script.
Les formulaires peuvent être de type GET ou POST. Pour rappel, dans un formulaire de type GET,
les informations sont passées directement par l'URL en clair, ce qui peut poser des problèmes de
limitations suivant le serveur (de 256 à 8192 octets selon le cas). La méthode POST n'a pas ce genre
de  limitation,  car   les  informations   sont   transmises  par   le conteneur  de variables  globales   (dans
l'entête) et sont de plus cachées. PHP peut gérer les deux méthodes de manière transparente.
8.2 Récupération par tableau
Chaque champ de formulaire en PHP est défini par un nom et une valeur. Dans un script, PHP va
récupérer ces noms et ces valeurs dans des tableaux spéciaux dit superglobaux (accessibles depuis
partout).  Pour   la  méthode  GET,   le   tableau  est  $_GET,  pour   la  méthode  POST  le   tableau  est
$_POST.  Si  vous ne souhaitez pas vous soucier  de  la méthode,  vous pouvez utiliser   le  tableau
$_REQUEST. En index on aura le nom du champ de formulaire (ou de la variable passée en URL)
et en valeur la valeur du champ. Par exemple :
<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>
Dans la page PHP foo.php on aura :
<?php
echo $_POST['username'];
echo $_REQUEST['email'];
?>
Imaginons l'appel d'une page test.php par une URL comme ceci :
http://www.monsite.com/test.php?id=1
Ici on transmet une variable via une URL et donc la méthode implicite GET. Pour récupérer « id »
dans un code PHP on peut donc faire :
<?php
echo $_GET['id'];
echo $_REQUEST['id'];
?>
$_GET ne contiendra que les variables de type GET. $_POST ne contiendra que les variables de
type POST. $_REQUEST contient les variables de type POST et GET mais aussi les variables de
cookies. Il est aussi possible de procéder autrement en récupérant le nom du champ directement en
tant que variable sans passer par un tableau. Pour cela il faut vérifier dans le fichier php.ini que
la valeur register_globals est à on.  Dans ce cas  les noms des champs de formulaire seront   les
S. ROHAUT Cours Programmation PHP Page 31/93noms des variables :
<?php
echo $username;
echo $email;
?>
.3 Récupération directe
Si   cette   valeur   est   à   off   et   que   pour   diverses   raisons   (sécurité,   pas   le   droit,   etc)   vous   ne
souhaitez/pouvez   pas   la   modifier,   il   existe   tout   de   même   une   méthode.   La   fonction
« import_request_variables »  permet   d'effectuer   explicitement   la  même   chose.  Cette   fonction
prend un ou deux paramètres, le second étant optionnel. Après exécution, on récupère les variables
sans passer par un tableau. Le premier paramètre est le type de variables qu'on souhaite récupérer :
– P / p : variables de type POST
– G / g : variables de type GET
– C / c : variables de type cookie
On peut  cumuler   l'ensemble mais attention à  l'ordre  !  Le second paramètre est   le préfixe qu'on
souhaite donner au nom des variables qu'on va récupérer. Voici deux exemples :
<?php
import_request_variables("p");
echo $username;
?>
<?php
import_request_variables("P","Post_");
echo $Post_username;
?>
On peut aussi passer par la fonction « extract » qui permet d'exporter un tableau en variables. Ainsi
pour le tableau $_POST :
<?php
extract($_POST);
echo $username;
?>
.4 Utiliser des tableaux
Les   formulaires   permettent   d'utiliser   des   listes   à   choix  multiples   et  PHP  doit   donc   récupérer
l'ensemble des choix de l'utilisateur. Pour ça il faut utiliser les tableaux.
<form action="<?php echo $HTTP_SERVER_VARS['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>
S. ROHAUT Cours Programmation PHP Page 32/93<input type="hidden" name="action" value="submitted">
<input type="submit" name="submit" value="submit me!">
</form>
Dans l'exemple précédent si par exemple on sélectionne plusieurs vins (ex : bordeaux et beaujolais)
on aura dans $vin[0] bordeaux et $vin[1] beaujolais.

Aucun commentaire:

Enregistrer un commentaire