\\ Pb de récupération de données d'un 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 : \\ Pb de récupération de données d'un formulaire ! \\

par Haly » 17 août 2005, 18:43

heu... comment on peut mettre la mention "résolu" ? je ne la voit pas au dessus du sujet !

par Haly » 17 août 2005, 18:41

merci beaucoup !

par Cyrano » 10 août 2005, 18:08

Si aucune des deux cases n'est cochée par défaut, aucune valeur n'est envpoyée lors de l'envoi du formulaire au traitement: donc à ce moment la, soit tu coches un des boutons radio par défaut, soit tu testes avec un isset dans la phase traitement

par Haly » 10 août 2005, 17:25

Personne n'a la réponse à ma question :(
Je vais peut-être aller voir sur un autre forum alors !
En tt cas merci pour votre aide précieuse !

par Invité » 05 août 2005, 17:07

Ne tenez pas compte de cette erreur que j'avais enlevée avant de tester le formulaire :
print("Je ne souhaite pas accompagner pour la sortie piscine"); 
          } 
          else{ 
            print ("Attention, Vous n'avez pas rempli tous les champs !"); 
} 
==> il manque une accolade mais je l'avait déjà replacée, l'erreur n'est pas là !

par Haly » 05 août 2005, 16:55

Heu... j'avais peut-être parlé un peu trop vite ! j'ai changé un peu mon formulaire pour que des cases radios avec pour valeurs "Oui" et "Non" ne puissent pas se cocher en même temps (et oui javais oublié ce détail) et du coup j'ai encore des erreurs qui s'affichent !

Voici mon formulaire :
<html>
<head>
<title> \\ Inscription au stage de reprise 2005 \\</title>
</head>

<body>


    <p>&nbsp;</p>
    <p><img src="../../images/boutons/barre_inscription.gif" width="322" height="31" border="0"></p>
    
    <table style="font-family:'Trebuchet MS'; font-size:13;" border="1" cellspacing="0" width="90%" bordercolordark="white" bordercolorlight="black">
        <tr>
            <td>
	    	<form action="verifstage.php" method="post">
	    	
                <p><br> &nbsp;Je soussigné <input type="text" name="parents"> 
                autorise ma fille <input type="text" name="enfant"> a participer 
                au stage organisé par l ADLV les <u>29, 30 et 31 Août 2005</u><br><br>

                // Choix entre "Oui" et "Non" pour le bouton "piscine"
                &nbsp;Elle est également autorisée à participer à la sortie 
                piscine du <u>Mercredi 31 Août à Neufchâtel en Bray</u> : 
                &nbsp;<input type="radio" name="piscine" value="Oui">Oui 
                &nbsp;&nbsp;&nbsp;<input type="radio" name="piscine" value="Non">Non

                <br><br> 

                // Choix entre "Oui" et "Non" pour le bouton "nageur"
                &nbsp;Si oui est-elle : <input type="radio" name="nageur" value="Oui"> Nageur 
                &nbsp;&nbsp;&nbsp;<input type="radio" name="nageur" value="Non">Non Nageur
                
                <br><br> 
                
                //Choix entre "Oui" et "Non" pour le bouton "accompagnateur"
                &nbsp;Je souhaite accompagner les gymnastes pour la sortie piscine : 
                <input type="radio" name="accompagnateur" value="Oui"> Oui 
                &nbsp;&nbsp;&nbsp;<input type="radio" name="accompagnateur" value="Non"> Non
                
                <br>&nbsp;</p>
                
                
                <p align="center"><input type="submit" name="envoyer" value="Envoyer"></form><br></p>
                
                <hr>
                
                <p align="left">&nbsp;<b><u>Note</u></b> : Les entraînements GR seront réalisés par Magali et Nadège&nbsp;;
                <br>La danse et préparation physique seront réalisées par un professeur de danse classique certifié&nbsp;;
                <br><b><u>Rappel</u></b> : Le prix est de 12 € pour les trois jours (à régler pendant le stage)<br>&nbsp;</p>
            </td>
        </tr>
    </table>

<p>&nbsp;</p>
</body>
</html>
Et voici maintenant ma page de récupération de données :
<html>
<head>
<title>\\ Vérification de vos informations</title>
</head>
<body>

<table style="font-family:'Trebuchet MS'; font-size:13;" border="1" cellspacing="0" width="90%" bordercolordark="white" bordercolorlight="black">
        <tr>
            <td>
            
                <form action="mailto:[email protected]" method="post">

<?

// Test de remplissage des champs

if (!empty($_POST['parents']) && !empty($_POST['enfant']) && !empty($_POST['piscine']) && !empty($_POST['nageur']) && !empty($_POST['accompagnateur'])){

    // Affichage des résultats
    
    echo ' Je soussigné '.$_POST['parents'].'autorise ma fille'.$_POST['enfant'].' à participer au stage organisé par l ADLV les 28, 30 et 31 Août 2005 ';
    echo '<br>';
    
    // C'est ici que les pb commencent : le msg d'erreur indique que la variable piscine est indéfinie
    if ($piscine=="Oui"){
            print ("Mon enfant participe à la sortie piscine");
          }
          else {
            print ("Mon enfant ne participe pas à la sortie piscine");
          }
    echo '<br>';
    
    // Ainsi que la variable nageur
    if ($nageur=="Oui"){
            print ("Mon enfant est nageur");
          }
          else{
            print("Mon enfant n est pas nageur");
          }
    echo'<br>';
    
    // Et la variable accompagnateur
    if ($accompagnateur=="Oui"){
            print("Je souhaite accompagner pour la sortie piscine");
          }
          else{
            print("Je ne souhaite pas accompagner pour la sortie piscine");
          }
          else{
            print ("Attention, Vous n'avez pas rempli tous les champs !");
}
?>
<br><br>
<div align="center"><input type="submit" name="OK" value="OK"></div>
</form>
</td>
</tr>
</table>
</body>
</html>
je ne comprends pas pourquoi il m'affiche des variables indéfinies alors qu'elles sont définies dans le formulaire...

Merci pour votre réponse !

Problème réglé !

par Haly » 05 août 2005, 12:10

J'étais tellement concentrée sur ce code que je n'ai pas vu les erreurs essentielles ! Merci beaucoup, mon problème est désormais réglé !

par Invité » 04 août 2005, 17:15

Il manque encore un petit point virgule sur le dernier :
echo '<br>'

par Haly » 04 août 2005, 14:43

Ah oui j'oubliais : l'erreur est toujours exactement la même !

par Invité » 04 août 2005, 14:40

Ca ne marche toujours pas :( ... J'espère que vous pourrez m'aider à nouveau ! J'ai vérifié mes parenthèses, mes guillemets etc et les nombres sont bien pairs. J'ai placé des ; à la fin de chaque instructions, j'ai remplacé les isset pas !empty et remplacé le
<input type="button" value="OK" mailto:[email protected] />
que j'avais sorti de nulle part !
J'ai cherché en vain une erreur ... J'espère que vous pourrez la trouver.
Voici maintenant le code après tous les changements :
<html>
<head>
<title>\\ Vérification de vos informations</title>
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
</head>
<body>
<form action="mailto:[email protected]" method="post">

<?

// on teste la déclaration de nos variables

if (!empty($_POST['parents']) && !empty($_POST['enfant']) && (!empty($_POST['piscineoui']) || !empty($_POST['piscinenon'])) && (!empty($_POST['nageur']) || !empty($_POST['nonnageur'])) && (!empty($_POST['accompagnateur']) || !empty($_POST['nonaccompagnateur']))){

    // on affiche nos résultats
    
    echo ' Je soussigné '.$_POST['parents'].'autorise ma fille'.$_POST['enfant'].' à participer au stage organisé par l ADLV les 28, 30 et 31 Août 2005 ';
    echo '<br>';
    if (!empty($_POST['piscineoui'])){
            print ("Mon enfant participe à la sortie piscine");
          }
          else {
            print ("Mon enfant ne participe pas à la sortie piscine");
          }
    echo '<br>';
    if (!empty($_POST['nageur'])){
            print ("Mon enfant est nageur");
          }
          else{
            print("Mon enfant n est pas nageur");
          }
    echo'<br>'
    if (!empty($_POST['accompagnateur'])){
            print("Je souhaite accompagner pour la sortie piscine");
          }
          else{
            print("Je ne souhaite pas accompagner pour la sortie piscine");
          }
}
?>

<input type="submit" name="OK" value="OK">
</form>
</html>
Merci !

par Haly » 04 août 2005, 13:44

D'accord je vais changer tout ça !! Merci pour vos conseils je vous dirais si ça marche !

par raptor » 02 août 2005, 17:21

Et ca je ne connais pas :

Code : Tout sélectionner

<input type="button" value="OK" mailto:[email protected] />
:?:

par ouckileou » 02 août 2005, 17:20

et on termine les lignes d'instructions (du style print quelquechose à tout hasard) par un point-virgule ;)

par raptor » 02 août 2005, 17:19

if isset($_POST['piscineoui']){
Il faut entourer les conditions avec des parentheses deja.

Et l'erreur est de PHP, pas de MySQL :)
De plus, les champs textes sont toujours 'set' lors d'un submit, donc inutile de faire des isset sur eux, mais plutot faire des if (!empty...

@+

par ouckileou » 02 août 2005, 17:19

c'est PHP qui affiche l'erreur, pas MySQL

c'est où la ligne douze ?

compte les parenthèses ouvrantes+fermantes : si le nombre est impaire y'a un problème ;)