8797 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un gros souci. J'ai conçu tant bien que mal un questionnaire. On m'a aidé et je peux le recevoir directement dans ma boîte email. Cependant, j'éprouve des difficultés pour vérifier tous les champs avant l'envoi : si tous les champs pas remplis, envoie du questionnaire est refusé, quelque chose s'écrit sur l'écran de l'utilisateur et on peut recommencer. Dans le cas contraire, on ne peut plus retourner systématiquement au questionnaire! Je veux que cela soit fait en PHP car avec le JAVASCRIPT, Internet Explorer pourrait inquiéter les visiteurs. Sachant que j'ai 3 pages : le questionnaire (index.html), la décoration du questionaire (style.css) et la récupération de champ qui est envoyé (reponse.php), que dois-je rajouter et à laquelle de ces trois pages pour faire la vérif? Voici pour commencer mon fichier PHP (pour info, je suis un débutant)


<!--<html>
   
    <head> <title> Envoi de Données à une boîte-email  </title> </head> 
	
	<?php 
	        // Question 1
		    $Q1 ='Quelques informations utiles pour le traitement des résultats' ;
			 
			 $Sexe = $_POST['Sexe']; 
			 $Etude = $_POST['Etude']; 
			 $Age = $_POST['Age']; 
			 $Mutuelle = $_POST['Mutuelle'];
			 $Travail = $_POST['Travail']; 
			 $Traitement = $_POST['Traitement'];
             $Attente = $_POST['Attente'];
             			
			$Rep1 = $Sexe."\n\n".$Etude."\n\n".$Age."\n\n".$Mutuelle."\n\n".$Travail."\n\n".$Traitement."\n\n".$Attente ;
       
			// Question 2        			
	        $Q2 ='Automedication' ;
	                $evocation1 = $_POST['evocation1']; 
					$evocation2 = $_POST['evocation2'];
					$evocation3 = $_POST['evocation3']; 
					$evocation4 = $_POST['evocation4']; 
					
			$Rep2 = $evocation1."\n\n".$evocation2."\n\n".$evocation3."\n\n".$evocation4 ;
			
			// Question 3
	        $Q3 ='Quelle position pourriez-vous prendre face aux propositions ci-dessous ?' ;         

		   $A = $_POST['A'];
		   $B = $_POST['B'];
		   $C = $_POST['C'];
		   $D = $_POST['D'];
		   $E = $_POST['E'];
		   $F = $_POST['F'];
		   
		   
		   $Rep3 = $A."\n\n".$B."\n\n".$C."\n\n".$D."\n\n".$E."\n\n".$F ;
		   
		   
			// Question 4
			$Q4 ='Le Medicament' ;		
		    
            $evomedic1 = $_POST['evomedic1'];
		    $evomedic2 = $_POST['evomedic2'];
		    $evomedic3 = $_POST['evomedic3']; 
		    $evomedic4 = $_POST['evomedic4'];
			
		    $Rep4 =$evomedic1."\n\n".$evomedic2."\n\n".$evomedic3."\n\n".$evomedic4 ;
		   
			
			
			// Question 5
			$Q5 ='Quel est votre niveau daccord avec les propositions ci-dessous ?' ;	
		  
		   $G = $_POST['G'];
		   $H = $_POST['H'];
		   $I = $_POST['I'];
		   $J = $_POST['J'];
		   $K = $_POST['K'];
		   $L = $_POST['L'];
		 
		   
		   $Rep5 =$G."\n\n".$H."\n\n".$I."\n\n".$J."\n\n".$K."\n\n".$L ;
		   
	 //-----------------------------------------------
	 // --- ENVOI DE MAIL 
	 //-----------------------------------------------
	 
	 //-----------------------------------------------
	 // LES VARIABLES
	 // -----------------------------------------------
	 //Destinataire
	 $destinataire = '.....@......';
	 //Sujet
     $sujet='Enquete'; 
	 
	 
	 // Format html
	 $message_html='<html>
     <head>
     <title>Enquete</title>
     </head>
     <body><B>'.$Q1.'</B><br/>'.$Rep1.'<br/><B>'.$Q2.'</B><br/>'.$Rep2.'<br/><B>'.$Q3.'</B><br/>'.$Rep3.'<br/><B>'.$Q4.'</B><br/>'.$Rep4.'<br/><B>'.$Q5.'</B><br/>'.$Rep5.'<br/></body></html>'; 
	 
	 // Format texte
	 $message_texte=$Q1."\n\n".$Rep1."\n\n".$Q2."\n\n".$Rep2."\n\n".$Q3."\n\n".$Rep3."\n\n".$Q4."\n\n".$Rep4."\n\n".$Q5."\n\n".$Rep5."\n\n"; 
	 
	 
	 //-----------------------------------------------
     //MESSAGE HTML
     //-----------------------------------------------
	 // Construction des questions-Réponses pour envoi au format HTML
	 
	 $message .= '----------------'."\n";
     $message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $message_html."\n\n";
     $message .= '----------------'."\n"; 
	 
	 
	 //-----------------------------------------------
     //MESSAGE TEXTE
     //-----------------------------------------------
	 // Construction des questions-Réponses pour envoi au format TEXTE
     $message = 'Message envoyé au format texte.'."\n\n";
     $message .= '----------------'."\n";
     $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $message_texte."\n\n"; 
     $message .= '----------------'."\n";
    
	 mail($destinataire,$sujet,$message);
	  if(mail($destinataire,$sujet,$message))
     {
          echo '<h2 align="center" >Cool!<br/> Le questionnaire a été bien envoyé au destinataire. <br/> Merci pour votre coopération! </h2>';
     }
     else
     {
          echo '<h2 align="center">Veuillez remplir les champs obligatoires en bleu</h2>';
     } 
		   
	       
	
		   
		   
    ?>
  
</html> 

Modifié par alro (28 Oct 2007 - 19:31)
Bonsoir Alro,

Merci d'éditer ton message et de présenter ton code conformément aux règles du forum qui t'accueille Smiley cligne

a écrit :

13- Mise en forme générale des messages
Merci de bien vouloir prendre le temps de présenter correctement vos messages, surtout si ces messages doivent inciter les autres membres à vous dépanner sur un problème. Des boutons de mise en forme sont prévus pour cela (gras, italique, etc.).
Merci de systématiquement baliser vos codes HTML ou CSS avec le bouton CODE approprié (éviter également, pour des questions de lisibilité, de présenter des codes HTML et PHP imbriqués).
Enfin, n'hésitez pas à toujours fournir une image explicative et une url où les membres auront un aperçu de votre problème.La règle est simple : il faut toujours donner un maximum de détails pour être sûr d'avoir une chance que les autres comprennent et aident.



Les spécialistes du PHP ne tarderont pas à te venir en aide Smiley cligne
Modifié par 6l20 (28 Oct 2007 - 00:18)
Bonjour,

Voici la suite. Ton conseil m'a aidé. Mais, je n'ai rien trouvé qui <b>puisse me permettre la vérification des boutons radios en php</b>. <b> J'ai un tableau de 3 boutons radios (pour, contre, sans opinion) et un autre de 5 (des niveaux d'accord)</b>.

Quand je suis ce qui est indiqué là: Récupérer les valeurs d'un formulaire [/url], easy php écrit: Notice: [b]Undefined index: A in c:\program files\easyphp1-8\www\op\reponse.php on line 120[/b] en plus de la reponse que veux toute seule [b](Quelle position pourriez-vous prendre face aux propositions ci-dessous ?
Encourager ... ne résout... EST VIDE.
Veuillez retourner au questionnaire!)
[/b]. Question comment faire pour corriger cette erreur ou comment écrire le code php de telle sorte que les utilisateurs ne voient que ce que je leur suggère?

Merci bien,
Bonjour,

Voici la suite. Ton conseil m'a aidé. Mais, je n'ai rien trouvé qui puisse me permettre la vérification des boutons radios en php. J'ai un tableau de 3 boutons radios (pour, contre, sans opinion) et un autre de 5 (des niveaux d'accord).

Quand je suis ce qui est indiqué là : http://www.phpdebutant.org/article56.php, easy php écrit: Notice: Undefined index: A in c:\program files\easyphp1-8\www\op\reponse.php on line 120 en plus de la reponse que veux voir affichée toute seule sur l'écran de l'utilisateur (Quelle position pourriez-vous prendre face aux propositions ci-dessous ?
Encourager ... ne résout... EST VIDE.
Veuillez retourner au questionnaire!)
. Question comment faire pour corriger cette erreur ou comment écrire le code php de telle sorte que les utilisateurs ne voient que ce que je leur suggère?

Merci bien,
alro a écrit :
je n'ai rien trouvé qui puisse me permettre la vérification des boutons radios en php

Un petit exemple :
<body>
<?php
$avis = (!empty($_POST['avis'])) ? $_POST['avis'] : 'pour';
echo $avis."<br />";
?>
<form method="post" action="">
	<p>
		<input type="radio" name="avis" value="pour" id="pour" <?php if ($avis == 'pour') { echo 'checked="checked"'; } ?> />
		<label for="pour">pour</label>
	</p>
	<p>
		<input type="radio" name="avis" value="contre" id="contre" <?php if ($avis == 'contre') { echo 'checked="checked"'; } ?> />
		<label for="contre">contre</label>
	</p>
	<p>
		<input type="radio" name="avis" value="sans" id="sans" <?php if ($avis == 'sans') { echo 'checked="checked"'; } ?> />
		<label for="sans">sans opinion</label>
	</p>
	<p>
      <label for="Submit"></label>
      <input type="submit" name="Submit" value="Envoyer" id="Submit" />
    </p>
</form>
</body>

Cela dit, comme indiqué dans l'annonce du Salon, le but d'Alsacréations n'est pas de faire de l'initiation à PHP Smiley cligne ... Tu y trouveras plusieurs liens qui devraient te dépanner...

A+