envoi d'un mail quizz php

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 19:33

dans correction

par contre dans page1 tu mets

<input type="text" name="nom" />

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 19:37

t'inquete pas je vais te faire un truc plus propre et plus simple, apres on verra ensemble le fonctionnement :wink:

thomas59000
Invité n'ayant pas de compte PHPfrance

03 juin 2010, 19:43

Ok ok merci c'est gentil de ta part j'en ai vraiment besoin car c'est un projet en fait (pas pour l'école je suis en stage)

thomas59000
Invité n'ayant pas de compte PHPfrance

03 juin 2010, 19:47

donc les input nom et prenom dans page1 et le hidden dans correction?
T'en aura pour combien de temps environ? En tout cas merci d'avance de ton aide

thomas59000
Invité n'ayant pas de compte PHPfrance

03 juin 2010, 20:16

Tu pense pouvoir jeter un coup d'oeil ce soir ?

Si tu peux me dire quoi stp

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 20:51

Tu pense pouvoir jeter un coup d'oeil ce soir ?

Si tu peux me dire quoi stp
ouai je regarde ca :wink:

Petit nouveau ! | 6 Messages

03 juin 2010, 20:55

Ah merci beaucoup :) je dois en principe l'avoir finit pour demain c'est pour sa que je me suis permis de demander de l'aide car j'était completement bloquer. Tu pense en avoir pour longtemps? Merci d'avance en tout cas tu me sauve lol

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 20:58

Ah merci beaucoup :) je dois en principe l'avoir finit pour demain c'est pour sa que je me suis permis de demander de l'aide car j'était completement bloquer. Tu pense en avoir pour longtemps? Merci d'avance en tout cas tu me sauve lol
je te redis dans 20min

Petit nouveau ! | 6 Messages

03 juin 2010, 21:20

ok ba dit moi quoi ce soir ^^

Sa marche pour le moment?

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 21:35

bon j'ai pa changé grand chose, surtout un peu aérée ton code

infobase
<html>
	<head>
		<title>Quiz Info de base</title>
    	<style type="text/css">
            <!--
            body {
              font-family: Verdana, Arial, Helvetica, sans-serif;
              background-color: #ffffff;
              font-size: 11px;
              color: #000000;
              margin-top: 0;
              margin-left: 0;
              padding:0;
            }
            p, ul, ol, td {
              text-align: justify;
            }
            .orange {
              color: #ff6600;
              background-color: transparent;
              font-weight: bold;
            -->
    	</style>
	</head>
	<body>
		<button onclick="history.go(-1)" style="background-color:#f66" onmouseover="this.style.color='#fff'" onmouseout="this.style.color='#000'" onmousedown="this.style.color='#f90'">Retour</button>
		<center>
			<h1>INITIATION : INFO DE BASE</h1>			
		</center>		
        <?php
            $quizz= array(
                array("<u>Question 1</u> : Quel dossier de votre Bureau ne peut pas être effacé ?","Poste de Travail","Corbeille","Mes Documents","Favoris Réseau","2","<u>Commentaire</u> : La corbeille est le seul dossier du Bureau qui ne peut pas être effacé ni même renommé."),
                array("<u>Question 2</u> : Quel est le meilleur OS ?","Windows","Linux","Mac","Chrome OS","2","<u>Commentaire</u> : Linux est de loin le meilleur OS, le Pingouin gagne toujours devant Apple et Windows. Quant à Chrome OS, il n'est pas encore ouvert grand public."),
            );
            include("infodebasecorrection.php");
            ?>
	</body>
</html>
infobasecorrection
		<script type="text/javascript">
			function controle(form1)
			{
				var nom 	= document.form1.nom.value;
				var prenom 	= document.form1.prenom.value;

 				if(( form1.nom.value == "") || ( form1.prenom.value == ""))
 				{
       				alert('Veuillez rentrer votre NOM ET PRENOM !!!');
 				}
       			else
       			{
					alert("Bonjour " + nom + " " + prenom + ". " + "Vous avez choisis l'initiation Info De Base"   );
       			}
       		}
		</script>
    <?php 
        if (!isset($_POST['result']))
        {
            print "<form id=\"form1\" action=\"{$_SERVER['PHP_SELF']}\" method='post'>\n";
            
            print '<center><label> Nom :   <input type=text name="nom"></label>';
			print '<label> Prénom : <input type=text name="prenom"></label></center><br /><br />';
            
            for ($i=0; $i<count($quizz); $i++)
            {
                print '<blockquote><span class="orange">';
                print "\t".$quizz[$i][0]."\n";
                print '</span><br /><br />';
                
                for ($j=1; $j<count($quizz[$i])-2; $j++)
                {
                    $quest=$quizz[$i][$j];
                       print "<input type='radio' name=\"$i\" value=\"$j\" /> $quest<br />\n ";
                }
                
                print "</blockquote><hr />";
            }
            
            print "<input type='hidden' name='result' value='voir' /><br />\n<center>";
            print "<input onclick='controle(form1)'  type='submit' style='background-color:#f66' onmouseover=\"this.style.color='#fff'\" onmouseout=\"this.style.color='#000'\" onmousedown=\"this.style.color='#f90'\" value='VALIDER' /></center></form>\n";
         }
         else
         {
            print "<form action=\"page2.php\" method='post'>\n";
            print '<h4 align="center">INITIATION : INFO DE BASE : CORRECTION</h4><br />';
            $points=0;
            
            for($i=0; $i<count($quizz); $i++)
            {
                $reponse = trim($_POST[$i]);
                print  '<blockquote><span class="orange">';
                print "\t".$quizz[$i][0]."</span><br /><br />\n";
                
                $numero_bonne=$quizz[$i][count($quizz[$i])-2]; // avant dernière valeur du tableau
                $bonne=$quizz[$i][$numero_bonne]; // Bonne réponse
                
                if ($reponse==$numero_bonne)
                {
                    print "Votre réponse <b><i>".$bonne."</i></b> est exacte.";
                    $points++;
                }
                else
                {
                    print "<u>Réponse</u> : La bonne réponse est <b>".$bonne."</b> mais vous ";
                    if ($reponse=="")
                    {
                       print "n'avez rien répondu.";
                    }
                    else
                    {
                        print 'avez répondu" <b>'.$quizz[$i][$reponse].' "</b>.';
                    }
                }                
                
                $commentaire=$quizz[$i][count($quizz[$i])-1]; // dernière valeur du tableau
                
                print "<br />".$commentaire."<br />\n";      
                print "</blockquote><hr />\n";
            }
              
            if($points==count($quizz))
            {
                print"<br /><h4 align='center'>Félicitations vous avez tout juste!</h4>\n";
            }
            else
            {
                print "<br /><h4 align='center'>Vous avez la note de $points";
                if ($points>1) print "s";
                print " sur ".count($quizz)."</h4>\n";
            }
            
            print "<input type=\"hidden\" name=\"nom\" value=\"{$_POST['nom']}\" />";
             print "<input type=\"hidden\" name=\"prenom\" value=\"{$_POST['prenom']}\" />";
            print "<input type=\"hidden\" name=\"points\" value=\"$points\" />";
            print '<button type="submit">Envoyer</button>';
            print "</form>";
    }
    ?>
page2
<?php
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $points = $_POST['points'];
     $headers ='From: "cyber quizz"<[email protected]>'."\n";
     $headers .='Reply-To: [email protected]'."\n";
     $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $headers .='Content-Transfer-Encoding: 8bit';
     $mail = mail('tonmail', 'note du quizz [Info De Base]', "$nom  $prenom  a obtenu la note de $points", $headers);
       if($mail)
        {
            echo 'mail envoyé';
        }
        else
        {
            echo 'erreur mail';
        }
     ?>
Modifié en dernier par stealth35 le 03 juin 2010, 22:56, modifié 1 fois.

Petit nouveau ! | 6 Messages

03 juin 2010, 21:49

Merci beaucoup de ton aide

Par contre est-ce que c'est faisable d'intégrer le bouton envoyer dans le bouton valider

C'est à dire que le bouton envoyer n'existe pas, juste en cliquant sur envoyer on envoi le mail et on affiche la correction

C'est possible ?

J'attends ta réponse :=)

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 21:54

oui ducoup on peu se passé de page2.php et l'intergé a l'autre page

correction
		<script type="text/javascript">
			function controle(form1)
			{
				var nom 	= document.form1.nom.value;
				var prenom 	= document.form1.prenom.value;

 				if(( form1.nom.value == "") || ( form1.prenom.value == ""))
 				{
       				alert('Veuillez rentrer votre NOM ET PRENOM !!!');
 				}
       			else
       			{
					alert("Bonjour " + nom + " " + prenom + ". " + "Vous avez choisis l'initiation Info De Base"   );
       			}
       		}
		</script>
    <?php 
        if (!isset($_POST['result']))
        {
            print "<form id=\"form1\" action=\"{$_SERVER['PHP_SELF']}\" method='post'>\n";
            
            print '<center><label> Nom :   <input type=text name="nom"></label>';
			print '<label> Prénom : <input type=text name="prenom"></label></center><br /><br />';
            
            for ($i=0; $i<count($quizz); $i++)
            {
                print '<blockquote><span class="orange">';
                print "\t".$quizz[$i][0]."\n";
                print '</span><br /><br />';
                
                for ($j=1; $j<count($quizz[$i])-2; $j++)
                {
                    $quest=$quizz[$i][$j];
                       print "<input type='radio' name=\"$i\" value=\"$j\" /> $quest<br />\n ";
                }
                
                print "</blockquote><hr />";
            }
            
            print "<input type='hidden' name='result' value='voir' /><br />\n<center>";
            print "<input onclick='controle(form1)'  type='submit' style='background-color:#f66' onmouseover=\"this.style.color='#fff'\" onmouseout=\"this.style.color='#000'\" onmousedown=\"this.style.color='#f90'\" value='VALIDER' /></center></form>\n";
            print "</form>";
        }
         else
         {
            print '<h4 align="center">INITIATION : INFO DE BASE : CORRECTION</h4><br />';
            $points=0;
            
            for($i=0; $i<count($quizz); $i++)
            {
                $reponse = trim($_POST[$i]);
                print  '<blockquote><span class="orange">';
                print "\t".$quizz[$i][0]."</span><br /><br />\n";
                
                $numero_bonne=$quizz[$i][count($quizz[$i])-2]; // avant dernière valeur du tableau
                $bonne=$quizz[$i][$numero_bonne]; // Bonne réponse
                
                if ($reponse==$numero_bonne)
                {
                    print "Votre réponse <b><i>".$bonne."</i></b> est exacte.";
                    $points++;
                }
                else
                {
                    print "<u>Réponse</u> : La bonne réponse est <b>".$bonne."</b> mais vous ";
                    if ($reponse=="")
                    {
                       print "n'avez rien répondu.";
                    }
                    else
                    {
                        print 'avez répondu" <b>'.$quizz[$i][$reponse].' "</b>.';
                    }
                }                
                
                $commentaire=$quizz[$i][count($quizz[$i])-1]; // dernière valeur du tableau
                
                print "<br />".$commentaire."<br />\n";      
                print "</blockquote><hr />\n";
            }
              
            if($points==count($quizz))
            {
                print"<br /><h4 align='center'>Félicitations vous avez tout juste!</h4>\n";
            }
            else
            {
                print "<br /><h4 align='center'>Vous avez la note de $points";
                if ($points>1) print "s";
                print " sur ".count($quizz)."</h4>\n";
            }
            
             $nom = $_POST['nom'];
        $prenom = $_POST['prenom'];

     $headers ='From: "cyber quizz"<[email protected]>'."\n";
     $headers .='Reply-To: [email protected]'."\n";
     $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $headers .='Content-Transfer-Encoding: 8bit';
     $mail = mail('tonmail', 'note du quizz [Info De Base]', "$nom  $prenom  a obtenu la note de $points", $headers);
       if($mail)
        {
            echo 'mail envoyé';
        }
        else
        {
            echo 'erreur mail';
        }
    }
    ?>
Modifié en dernier par stealth35 le 03 juin 2010, 22:55, modifié 1 fois.

Petit nouveau ! | 6 Messages

03 juin 2010, 22:00

ok ok merci beaucoup je vais voir sa.

Derniere petite question après je te laisse tranquil. J'ai essayé de trouver une méthode pour que quand je clique sur le bouton valider si il y a une réponse d'oublier ou même les champs nom et prenom non rempli et ben on affiche un messsager du genre veuillez répondre au questions / remplir tout les champs

Une petite idée ?

Si tu peux me dire quoi avant que je quitte. Merci d'avance

thomas59000
Invité n'ayant pas de compte PHPfrance

03 juin 2010, 23:23

par contre je viens de voir que si on clique sur valider sans coché un bouton radio, on arrive sur la page de correction et on obtiens ces messages :


Notice: Undefined offset: 0 in C:\Program Files (x86)\EasyPHP-5.3.2i\www\infodebasecorrection.php on line 51
Notice: Undefined offset: 1 in C:\Program Files (x86)\EasyPHP-5.3.2i\www\infodebasecorrection.php on line 51

Warning: mail() [function.mail]: SMTP server response: 504 5.5.2 <tonmail>: Recipient address rejected: need fully-qualified address in C:\Program Files (x86)......\www\infodebasecorrection.php on line 100


Si tu peux m'aider avant que je part dormir stp. Merci d'avance

thomas59000
Invité n'ayant pas de compte PHPfrance

03 juin 2010, 23:29

c'est bon j'ai rajouter ceci : error_reporting(E_ALL ^ E_NOTICE);

Par contre c'est possible de faire ce que j'ai écrit plus haut ? On envoi le mail et on accede a la page de correction que si on a rempli le nom et prénom et répondu a toutes les questions. si il y a un champs non remplis ou même une questions non répondu, on affiche un message d'erreur