Page 1 sur 1

Formulaire php

Posté : 25 avr. 2011, 18:22
par vince06fr
Bonjour, je suis en train d'apprendre à faire des formulaire en php, pour l'instant ce que je veux obtenir c'est l'affichage de mes variable sur ma page or rien ne se passe :

voici mon code, merci à une ame charitable de bien vouloir m'expliquer ce qui ne va pas

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <link type="text/css" rel="stylesheet" href="style.css"> <title>Reservation</title> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> </head> <?php // Récupération normale des informations // // On donne un autre nom au variable pour éviter les problèmes avec Register Global à ON //et on traite avec htmlentities pour la sécurité $formNom = htmlentities($_Post['nom']); $formMail = htmlentities($_Post['mail']); $formDebut = htmlentities($_Post['debut']); $formFin = htmlentities($_Post['fin']); $formCommentaires = htmlentities($_Post['commentaires']); //On vérifie que les champs soient bien remplis if(!empty($formNom) && !empty($formMail) && !empty($formDebut) && !empty($formFin)) { //on affiche les variables //echo '<pre>'; echo "<strong>Nom, Prénom</strong> : ",$formNom, "<br />"; echo "<strong>Adresse email</strong> : ",$formMail, " <br />"; echo "<strong>Date d'arrivée souhaitée</strong> : ",$formDebut, " <br />"; echo "<strong>Date de départ souhaitée</strong> : ",$formFin,"<br /><br />"; echo "<strong>Commentaires</strong> : ", $formCommentaires; //echo '</pre>'; } else { echo "Merci de remplir tous les champs obligatoires"; } ?> <body> <form method="POST" action="<?php echo basename(__FILE__); ?>"> <fieldset> <legend><strong>Informations personnelles</strong></legend> <label> Nom, Prénom : <input type="text" name="nom" /> </label><br /><br /> <label> Adresse mail : <input type="text" name="mail" /> </label> </fieldset><br /> <fieldset> <legend><strong>Dates souhaitées</strong></legend> <label> Du : <input type="text" name="debut" /> </label><br /><br /> <label> au : <input type="text" name="fin" /> </label> </fieldset><br /> <fieldset> <legend><strong>Commentaires</strong></legend> <textarea name="commentaires" cols="20" rows="7"></textarea> </fieldset><br /><br /> <input type="submit" value="Envoyer" /> &nbsp; &nbsp; &nbsp; &nbsp; <input type="reset" value="Rétablir" /> </form> </body> </html>

Re: Formulaire php

Posté : 25 avr. 2011, 18:53
par kibba
Je n'ai pas pu m'enregistrer avec l'identifiant vince06fr donc je ne peux pas mettre ce post en résolu, mais j'ai trouvé d'ou venait mon probleme , j'ai ecris
$Post
au lieu de
$POST
Le bon code est donc :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"  lang="fr">
	<head>
		<link type="text/css" rel="stylesheet" href="style.css">
		<title>Reservation</title>
		<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
	</head>
<?php

			// Récupération normale des informations
			//
			// On donne un autre nom au variable pour éviter les problèmes avec Register Global à ON
			//et on traite avec htmlentities pour la sécurité
			$formNom = htmlentities($_POST['nom']);
			$formMail = htmlentities($_POST['mail']);
			$formDebut = htmlentities($_POST['debut']);
			$formFin = htmlentities($_POST['fin']);
			$formCommentaires = htmlentities($_POST['commentaires']);
			
			//On vérifie que les champs soient bien remplis 
			if(!empty($formNom) && !empty($formMail) && !empty($formDebut) && !empty($formFin)) {
						
				//on affiche les variables
				echo "<strong>Nom, Prénom</strong>  : ",$formNom, "<br />"; 
				echo "<strong>Adresse email</strong> : ",$formMail, " <br />";
				echo "<strong>Date d'arrivée souhaitée</strong> : ",$formDebut, " <br />";
				echo "<strong>Date de départ souhaitée</strong> : ",$formFin,"<br /><br />";
				echo "<strong>Commentaires</strong> : ", $formCommentaires;
               }
			
		else {
			echo "Merci de remplir tous les champs obligatoires";
		}

	?>
	
		
	<body>

    	<form method="POST" action="<?php echo basename(__FILE__); ?>">
    		<fieldset>
    			<legend><strong>Informations personnelles</strong></legend>
    			<label>
    				Nom, Prénom :
    				<input type="text" name="nom" />
    			</label><br /><br />
    			<label>
    				Adresse mail :
    				<input type="text" name="mail" />
    			</label>
    		</fieldset><br />
    		
    		<fieldset>
    			<legend><strong>Dates souhaitées</strong></legend>
    			<label>
    				Du :
    			 	<input type="text" name="debut" />
    			 </label><br /><br />
    			<label>
    			 	au :
    			 	<input type="text" name="fin" />
    			 </label>
    		</fieldset><br />
    		
    		<fieldset>
    			<legend><strong>Commentaires</strong></legend>
    			<textarea name="commentaires" cols="20" rows="7"></textarea>
    		</fieldset><br /><br />
    		
    		<input type="submit" value="Envoyer" /> &nbsp; &nbsp; &nbsp; &nbsp;
    		<input type="reset" value="Rétablir" />
    	</form>
    
    </body>
    
</html>

Re: Formulaire php

Posté : 25 avr. 2011, 20:30
par sylvaing26
C'était bien ça l'erreur en effet,
par contre si tu veux un affichage correct des champs saisis utilise aussi stripslashes(); avant htmlentites();

Car si une personne saisi : l'essai
ca t'affichera : l\'essai
stripslashes(); resoud cela ;)