Récuperer les informations d un formulaire en php
D'abord vous devez creer un formulaire, en voici un exemple:
formulaire.html<html>
<body>
<form method="post" action="recup.php">
Nom : <input type="text" name="nom" size="20"><br>
Prénom : <input type="text" name="prenom" size="20">
<input type="submit" value="Enregistrer">
</form>
</body>
</html>
Ce qui affichera ceci :
Nom :
Prénom :
Ensuite, la page php qui va récupérer les infos que vous avez tapé dans le formulaire :
<?PHP
//On recupere les variables passer dans le tableau $_POST[] :
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
//On fais un print des variables obtenues :
print "Bonjour $prenom $nom, comment ça va?";
?>
Ce qui affichera :
Bonjour Prenom, Nom , comment ca va ?
Ce qu'il faut retenir :
- Utiliser $_POST[prenom] pour récupérer la valeur des champs du formulaire. L'utilisation de la suele variable $prenom pose des problèmes de sécurités.
Ce code est très bien pour commencer, mais, si vous avez envie d'utiliser ceci sur votre site, il ne faut jamais faire confiance aux donnée fourni par un internaute ! jamais si vous voulez que votre site reste intact. 90% des piratages (à vue de nez) sont du à une mauvaise connaissances des langages de programmation.
Bon, très bien vous allez me dire, mais, je fais quoi alors ? La réponse est simple : il faut filtré les informations reçu, puis, on pourra les afficher sans crainte.
Pour être sur que je ne raconte pas des conneries, faire un essai avec ce texte (
<b>Test</b>). Le afficher sera en gras, ce qui voudra dire que votre page php vient d'exécuter le code html passer par le formulaire.
Bref, comment on fais pour être sur ? Essayer ce code :
<?PHP
//On recupere les variables passer dans le tableau $_POST[] :
$prenom = htmlentities($_POST['prenom'], ENT_QUOTES);
$nom = htmlentities($_POST['nom'], ENT_QUOTES);
//On fais un print des variables obtenues :
print "Bonjour $prenom $nom, comment ça va?";
?>
htmlentities filtre tous caractèere spécial qui pourrai s'exécuter. Si on re essaye ce texte (
<b>Test</b>), le résultat sera bien : <b>Test</b> et non
Test .
ENT_QUOTES spécifie que les quotes (' et ") doivent aussi être encodé. ceci est une sécurité supplémentaire.
Bonne Continuation :)
Le 12/05/2008 par Sky
http://www.graphiks.net
Les commentaires
-
Le 09-05-2008, debutant a écrit :
bonjour,
tout d'abord bravo, ce site est super clair pour les gens comme moi qui débutent totalement dans le langage php. J'ai cependant un petit souci: lorsque je tape le script html ci dessus, tout se passe bien, mais lorsque sur mon localhost je rentre "nom" et "prénom" puis que je clique sur enregistrer, j'obtiens une erreur 404. Pourtant j'ai bien placé un script "recup.php" avec le petit script php pour récupérer les infos dans mon dossier .www. Je ne comprend pas d'où ça peut venir... Merci d'avance pour l'aide que vous me fournirez!
-
Le 23-04-2006, Popo Lolo a écrit :
Ce qu'il faut retenir :
- Utiliser $_POST[prenom] pour récupérer la valeur des champs du formulaire. L'utilisation de la suele variable $prenom pose des problèmes de sécurités.
Ce code est très bien pour commencer, mais, si vous avez envie d'utiliser ceci sur votre site, il ne faut jamais faire confiance aux donnée fourni par un internaute ! jamais si vous voulez que votre site reste intact. 90% des piratages (à vue de nez) sont du à une mauvaise connaissances des langages de programmation.
Bon, très bien vous allez me dire, mais, je fais quoi alors ? La réponse est simple : il faut filtré les informations reçu, puis, on pourra les afficher sans crainte.
Pour être sur que je ne raconte pas des conneries, faire un essai avec ce texte (<b>Test</b>). Le afficher sera en gras, ce qui voudra dire que votre page php vient d'exécuter le code html passer par le formulaire.
Bref, comment on fais pour être sur ? Essayer ce code :
-
Le 23-04-2006, Donald St Louis a écrit :
Donald est entrain de travailler sur PHP.
-
Le 29-10-2005, nico a écrit :
<?php
//On recupere les variables passer dans le tableau $_POST[] :
$activite=$_POST['activite'];
$localite=$_POST['localite'];
//On fais un print des variables obtenues :
print "<a href=http://www.pagesjaune.fr/pj.cgi?FRM_ACTIVITE=$activite&FRM_LOCALITE=$localite>cliker ici</a>";
?>
-
Le 02-09-2005, J3R3My a écrit :
Qu'appelles-tu un "SpeakZone" ? Un Shoutbox/mini-chat du genre de myspeach ?
Parce que si tel est le cas, c'est relativemet facile à réaliser en s'appuyent sur une table MySQL mais Myspeach reste tout de même plus léger en stockant les messages dans un fichier .txt
-
Le 01-09-2005, admirateur a écrit :
WOAW il est trop cool ce site
il manque un tout petit truc === un tuto explicant comment faire une speakZone !
mon adresse si tu veu m'envoyer le futur tuto
lothar_bg@hotmail.com
-
Le 19-07-2005, Myspeach a écrit :
Très bon chat !