COURS PHP

  Dernière mise à jour effectuée le : Mardi 26 août 2003    

Accueil | Passer le contenu d'un champ masqué (Method = POST)

Passer le contenu d'un champ masqué (Method = POST)

Pre-requis :



Supposons le formulaire suivant :

<form action="AffChampCachePost.php" method="POST" name="Formulaire">
<input name="AdresseIP" type="hidden">
Nom et prénom <input name="NomPrenom" type="text" id="NomPrenom" size="30">
<input type="submit" value="Envoyer">
</form>

dans lequel j'ai mis en rouge et en bleu les choses importantes. Ca donnera à l'écran :

Nom et prénom

dans lequel vous demandez à l'utilisateur de saisir son nom et son prénom (n'essayez pas de cliquer, ça n'est qu'un exemple :-)) Bien entendu, il ne voit pas le champ caché, puisque c'est justement le but du jeu.
Le champ texte du formulaire (l'objet de formulaire) possède un attribut "name" auquel j'ai donné la valeur "NomPrenom".
Dans l'attribut "action" du formulaire lui même (ce qui va se passer quand l'utilisateur cliquera sur le bouton "Envoyer", j'apelle la page AffChampCachePost.php.
Ce que nous voulons, c'est que l'utilisateur saisisse son nom et son prénom, puis récupérer tout ça dans la page AffChampCachePost.php pour lui afficher une page personnalisée (ou aller en garnir une base de données, par exemple). En fait, on veut récupérer la saisie utilisateur dans une autre page, pour en faire ce que bon nous semble .

Mais en plus, on veut récupérer son adresse IP et la lui afficher ou aller en garnir une base de données (toujours par exemple). Celles et ceux qui ont respecté les pre-equis savent le faire. Je sais que l'adresse IP est accessible dans la page appelée, mais ce n'est qu'un exemple. Vous pouvez imaginer tout autre chose à mettre dans ce champ caché, un compteur de visite ou n'importe quoi. Il fallait bien prendre quelque chose hein ?

Avec la méthode "POST", le contenu de la saisie utilisateur, va être stocké dans une variable particulière, la variable $_POST, anciennement $HTTP_POST_VARS. C'est une variable qui est en fait un tableau associatif dans lequel chaque poste aura pour clé le nom que nous avons donné à l'objet de formulaire. Ici, NomPrenom.
Pour l'adresse IP, il faut la mettre dans le champ caché. Ce qui se fait par le code PHP suivant :

<?php
echo "<input name=\"AdresseIP\" type=\"hidden\" value='" . $_SERVER[REMOTE_ADDR] . ">" ;
?>

Dans la page appelée (AffChampCachePost.php), nous récupérerons la valeur du champ NomPrenom dans une variable personnelle (si on veut, c'est pas obligé), par exemple $Client, en écrivant :

$Client = $_POST[NomPrenom] ;

Attention, pas de guillemet entre les crochets. Ainsi, dans la variable $Client, nous aurons la saisie utilisateur.
Pour l'adresse IP, nous pouvons faire de même avec (toujours par exemple) :
$AdresseIPClient = $_POST[AdresseIP]

Allez dans le champ ci-dessous, et saisissez quelque chose. Puis cliquez sur "Envoyer".

Nom et prénom

Le code PHP dans la page appelée AffChampCachePost.php, est le suivant :

<?php
echo "Vous avez saisi : <b>" . $_POST[NomPrenom] . "</b>" ;
echo "Votre adresse IIP est : <b>" . $_POST[AdresseIP] . "</b><br>";
?>

Ce qui donne le résultat que vous savez (si vous avez joué le jeu et saisi vos nom et prénom, puis cliqué sur le bouton "Envoyer").

 



Ce cours est enseigné par Philippe Médan 
dans le cadre de la formation des professionnels de l'INTERNET.
au CREFAC , 14 rue Scandicci, 93000 Pantin. Tél. : 01 48 46 51 99
au GITA-GRETA , Lycée Technologique Diderot 61, rue David D'Angers 75019 Paris Tél. : 01 40 40 36 27
au CESI à l'Ecole des ingénieurs, 116 Av Aristide Briand, BP 57, 92224 Bagneux CEDEX Tél. : 01 45 36 70 00

© Philippe Médan 1999-2003. Tous droits de reproduction réservés pour tous pays.