Formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire

par VaN » 16 nov. 2005, 15:48

au temps pour moi.

par Cyrano » 16 nov. 2005, 15:23

peut etre changer
if($formcomplet == true)
en
if($formcomplet = true)
Certainement pas : "=" est un opérateur d'affectation, or dans un if(), on doit utiliser des opérateurs de comparaison, donc "==" ou "===".

par VaN » 16 nov. 2005, 15:21

peut etre changer
if($formcomplet == true)
en
if($formcomplet = true)

par sacco » 16 nov. 2005, 14:34

Merci pour test explication

Mais l'affiche de $Message ne s'effectue pas

faut-il passer par la creation d'une page temporaire?

Re: Formulaire

par zeus » 16 nov. 2005, 13:39

Donc, dans l'ordre :
Bonjour (ça fait jamais de mal et ça coute pas cher)

Code : Tout sélectionner

<form method="POST" action="#">
Te permet de faire boucler le formulaire sur la page courante

Ensuite, tu doit tester si ton POST existe et non s'il contient la bonne valeur car, au 1er chargement, il n'existe pas et c'est la cause de ton erreur
<?php
  //Test si la variable existe 
  if (isset($_POST['Valider'])) 	 
Donc la prochaine fois, au lieu de venir, de poser du code et de ne presque rien expliquer, pense à donner des détails et essaye de voir si tu peux isoler les erreurs afin de ne pas poser une telle tartine de code

Formulaire

par sacco » 16 nov. 2005, 13:31

je débute en formulaire mon code

<html>
<body>

<?php

// astuce pour récuperer
//le nom du script courant:

$doc_cour=$_SERVER['PHP_SELF'];
echo $doc_cour;
?>
</body>
</html>

<html>
	<head>
	<title>Formulaire Simple</title>
	</head>
	<body>
	<H1>Pour en savoir plus sur vous...</H1>
    <form
		method="POST"
		action="<?php echo $doc_cour ?>"
	>

<table align="center">
	 	<tr>
	 	 <td>Sexe</td>
	 	 <td>
	 <select name="Sexe" size="1">
	 <option selected value="H">Homme</option>
	 <option value="F">Femme</option>
	 </select>
	 	</td>
	 </tr>
	 <tr>
	    <td>Nom</td>
	    <td><input type="text" name="Nom" size="40">
	    </td>  
	 </tr>
	 <tr>
	    <td>Prenom</td>
	    <td><input type="text" name="Prenom" size="40">
	    </td>  
	 </tr>
	 <tr>
	 	<td>Comment avez-vous connu ce site ?</td>
	 	<td>
	 		<input type="radio" name="provenance"
	value="par moteur de recherche"> Moteur de recherche
	 		<input type="radio" name="provenance"
	value="par une pub télé" > Pub télé
	 		<input type="radio" name="provenance"
	value="par un ami" > Par un ami
	 		<input type="radio" name="provenance"
	value="par hazard" > Par hazard
	 	</td>
	 </tr>
	 
	 <tr>
	 	 <td>Quels sont vos centres d'intérêt</td>
	 	 <td>
	 	  <input type="checkbox" name="interets[]"
	value="TELE">
	 	  				Télévision<br>
	 	  <input type="checkbox" name="interets[]"
	value="CINE">
	 	  				Cinéma<br>
	 	  <input type="checkbox" name="interets[]"
	value="MUSI">
	 	  				Musique<br>
	 	  <input type="checkbox" name="interets[]"
	value="JEUXV">
	 	  				Jeux vidéos<br>
	 	  <input type="checkbox" name="interets[]"
	value="INFO">
	 	  				Informatique<br>
	 	</td>
	</tr>	
		<td>Avez-vous des commentaires(*) ?</td>
		<td>
		<textarea name="commentaire" cols="20"
	rows="4">
		</textarea>
		</td>
	</tr>
	<tr>
		<td>
			<input type="reset" value="Annuler"
 name="Annuler">
		</td>
	</tr>
	
	<tr>
		<td>
		 <input type="submit" value="Valider"
 name="Valider">
		</td>
	</tr>
</table>

<p style="text-align: center; font: italic">PS: Les champs marqués (*) sont optionnels.</p>

</form>
</body>
</html>

<?php
	//Traitement du formulaire
	
//Si le formulaire a été soumis
// Pour ce faire on teste s'il existe
// une variable Valider dans $_POST

 if ($_POST['Valider']=='Valider')
 	{
 		$formcomplet=true; //si tous les champs non optionnionnels ont été saisies
 		$Message="Bonjour ";
 		
 		if ($_POST['Sexe']=="")
 		{
 			echo("<h3>Le champ sexe est vide!</h3>");
 $formcomplet=false;
 		}

 		else {
 					switch ($_POST['Sexe'])
 					{
 						case 'H':$Message.="Monsieur";break;
 						case 'F':$Message.="Madame ou Mademoiselle ";break; 
 				    }
 		}
 			    		
	 	if ($_POST['Prenom']=="")
	 	{
	 		echo ("<h3>Le champ Prenom est vide!</h3>");
 $formcomplet=false;
	 	}
	 	else {
	 			$Message.=$_POST['Prenom'];
	 	     }	 

	 	if ($_POST['Nom']=="")
	 	{
	 		echo ("<h3>Le champ Nom est vide!</h3>");
 $formcomplet=false;
	 	}
	 	else {
	 			$Message.=$_POST['Nom'];
	 	     }	        
	 		 			     
	    if ($_POST['Provenance']=="")
	    {
	    	echo("<h3<Comment avez vous connu ce site?</h3>");
 $formcomplet=false;
	    }
	    else {
	    	   $Message.=". Vous avez connu ce site
	    	   ".$POST['Provenance']." et ";
	         }
	         if (count($_POST['interets']) <= 1)
	         {
	         	echo ("<h3>Aucune centre d'interêt n'a été sélectionné !</h3>");
	         	$formcomplet=false;
	         }
	         else {
	         	$Message.="vos centres d'intérêt sont :<br><ul>";
	         	
	         foreach ($_POST['interets'] as $interet)	 
	         {
	         	switch ($interet)
	         	{
	         		case "CINE":$Message.="<li>Le cinéma</li>";break;
	         		case "MUSI":$Message.="<li>La musique</li>";break;
	         	 	case "JEUXV":$Message.="<li>Les jeux vidéos</li>";break;
	    			case "INFO":$Message.="<li>L'informatique</li>";break;
	         	}
	         }
	         
	         $Message.="</ul>";
	         }
	         
	         if ($_POST['commentaire']!="")
	         $Message.="<br> Voici vos commentaires:\"".$_POST['commentaire']."\"<br></ul>";
	         
	         if($formcomplet == true)
	         
	         echo  $Message;
	         
 	} //Fin si formulaire soumis

 	?>
 	
 	</body>
 </html>		
	  	 

Le debogage me signal

Informations: C:\Inetpub\wwwroot\Traitement Formulaire.php ligne 115 - Undefined index: Valider


Or lorsque je valide le formulaire rempli ou non cela me marque impossible d'afficher la page

Merci d'avance