begin process at 2012 05 28 09:35:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

conditions, accolades completement perdu


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

conditions, accolades completement perdu

mardi 8 mars 2005 à 20:45:34 | conditions, accolades completement perdu

tooms2028

 salut,
J'ai un formulaire d inscription avec plusieur if imbriqués qui envoi un mail de validation avec url integré. Mon problème c est que je suis completement perdu dans les conditions. Je comprend quand il sagit d un if et d un else mais quand il y en a plusieur je ne sais pas comment m y prendre avec les accolades.
  quand:
-j essaye deux mots de passe differents ca envoi quand meme le mail
- je clique sur le boutton valider du formulaire en laissant les champs vides, mes variables ne sont pas defini au niveau de la requette
- j essaye avec deux mots de passe identiques mais avec caracteres non autorisés, ca envoi quand meme le mail (pour le pseudo ca marche) 
J'aimerais eviter cela.
merci d avance

CODE:
 $numero = "0123456789";
$clef = str_shuffle($numero);


if (sizeof($_POST))
 {
        if (isset($_POST['pseudo']) and isset($_POST['password']) and     isset($_POST['confirm_password']) and isset($_POST['mail']) and isset($_POST['ville']) and isset($_POST['sexe']) and isset($_POST['jours']) and isset($_POST['mois']) and isset($_POST['annees']))
       {
            $pseudo = $_POST['pseudo'];
            $password = $_POST['password'];
            $confirm_password = $_POST['confirm_password'];
            $mail = $_POST['mail'];
            $ville = $_POST['ville'];
            $sexe = $_POST['sexe'];
            $date = $_POST['jours'] ."/". $_POST['mois'] ."/". $_POST['annees'];
       }

       else
       {     
           echo "non remplis";
       }   

       if ($password != $confirm_password)
       {
            echo "bad pasword";
       } 

       if (!preg_match('`^(\w{4,15})$`', $pseudo) and   preg_match('`^(\w{4,15})$`', $password) and preg_match('`^(\w{4,15})$`', $confirm_password ))
   
       echo "mauvais caracteres";
   
      else
      {   

          mysql_connect("localhost", "root", "");
          mysql_select_db("test");
          mysql_query("INSERT INTO elove VALUES('', '$clef', '$pseudo',   '$password', '$mail', '$ville', '$sexe', '$date')")or die(mysql_error());
         $reponse_id = mysql_query("SELECT id FROM elove WHERE pseudo = '$pseudo'")or die(mysql_error());
          mysql_close();
   
           echo "tu vas recevoir un mail";
     
         while ($donnees = mysql_fetch_array($reponse_id))
         {
            $id = $donnees['id'] ;
            $mail_destinataire = $_POST['mail'];             
            $sujet = "E-love, validation de l'inscription";
            $message = http://127.0.0.1:81/Php/E-love/zone_membre/zone_membre_validation.php?id=$id&clef=$clef
            $head = "Salut $pseudo ";
            mail($mail_destinataire, $sujet, $message, $head);
         }
      }
   }
   
mardi 8 mars 2005 à 21:39:30 | Re : conditions, accolades completement perdu

tucsoufle

salut
ouep, tu a mal organisé tes if
essai ça :
  $numero = "0123456789";
$clef = str_shuffle($numero);


if (sizeof($_POST))
 {
        if (isset($_POST['pseudo']) and isset($_POST['password']) and     isset($_POST['confirm_password'])         and isset($_POST['mail']) and isset($_POST['ville']) and isset($_POST['sexe']) and                 
        isset($_POST['jours'])     and isset($_POST['mois']) and isset($_POST['annees']))
       {
            $pseudo = $_POST['pseudo'];
            $password = $_POST['password'];
            $confirm_password = $_POST['confirm_password'];
            $mail = $_POST['mail'];
            $ville = $_POST['ville'];
            $sexe = $_POST['sexe'];
            $date = $_POST['jours'] ."/". $_POST['mois'] ."/". $_POST['annees'];


           if ($password != $confirm_password)
           {
                echo "bad pasword";
           }
            else
            {
               
     if (!preg_match('`^(\w{4,15})$`', $pseudo) and   preg_match('`^(\w{4,15})$`', $password) and preg_match('`^(\w{4,15})$`', $confirm_password ))
   
               echo "mauvais caracteres";
   
                     else
                      {   

                          mysql_connect("localhost", "root", "");
                          mysql_select_db("test");
                          mysql_query("INSERT INTO elove VALUES('', '$clef', '$pseudo',   '$password', '$mail', '$ville', '$sexe', '$date')")or die(mysql_error());
                         $reponse_id = mysql_query("SELECT id FROM elove WHERE pseudo = '$pseudo'")or                                 die(mysql_error());
                          mysql_close();
   
                           echo "tu vas recevoir un mail";
     
                          while ($donnees = mysql_fetch_array($reponse_id))
                          {
                               $id = $donnees['id'] ;
                               $mail_destinataire = $_POST['mail'];             
                               $sujet = "E-love, validation de l'inscription";
                              $message =    
    http://127.0.0.1:81/Php/E-love/zone_membre/zone_membre_validation.php?id=$id&clef=$clef
                                $head = "Salut $pseudo ";
                                mail($mail_destinataire, $sujet, $message, $head);
                          }
                      }

            } 
       }

       else
       {     
           echo "non remplis";
       }   
   }


voila, c'est galere de faire ça dans l'editeur mais ca doit etre ça

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet

jeudi 10 mars 2005 à 14:03:52 | Re : conditions, accolades completement perdu

tooms2028

Salut merci pour ton aide
Mais il reste un petit probleme, quand je tape deux mots de passe identiques avec caracteres non autorisés ca envoi quand meme le mail de validation.le problème vient du if ($password != $confirm_password). toto*_* et toto*_* sont identiques donc forcement ca envoi le mail Par contre si j essaye un pseudo avec des caracteres non autorisés l echo affiche "caracteres non autorisés" bon la c est cool.

jeudi 10 mars 2005 à 14:46:38 | Re : conditions, accolades completement perdu

tucsoufle

ben j'ai pas testé mais à mon avis ça vient de cette ligne
if (!preg_match('`^(\w{4,15})$`', $pseudo) and   preg_match('`^(\w{4,15})$`', $password) and preg_match('`^(\w{4,15})$`', $confirm_password ))
ce serait pas plutot qu'il faut mettre
if (!preg_match('`^(\w{4,15})$`', $pseudo) ||  !preg_match('`^(\w{4,15})$`', $password) || !preg_match('`^(\w{4,15})$`', $confirm_password ))

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet

jeudi 10 mars 2005 à 15:44:29 | Re : conditions, accolades completement perdu

tooms2028

encore merci c est bien ca
Le probleme est resolu
 J ai rajouté les ! mais j'aimerai savoir un truc parceque je viens de tester avec les and ca ne fonctionnait pas alors qu avec les || la ca marche nikel. A ma connaissance || et and c est la meme chose ?
jeudi 10 mars 2005 à 15:47:37 | Re : conditions, accolades completement perdu

tucsoufle

nan
AND et && sont equivalents
|| est équivalents au OR
dans ton cas, il te faut des OU et pas des ET

voila l'explication
@+

PS : n'oublie pas de valider la bonne reponse stp - merci

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet



Cette discussion est classée dans : mail, and, password, post, pseudo


Répondre à ce message

Sujets en rapport avec ce message

une aide svp;Parse error: syntax error, unexpected $end in [ par ptiville1 ] merci d avance por votre aide ,j ai telecharger ce code sur ce site et quand jouvre la page php ca me fait Parse error: syntax error, unexpected $end PROBLEME D'ENVOIE DE MAIL DE CONFIRMATION [ par daryussssssss ] Bonjour, je suis en train de créer un site (je le développe en local ) j'ai un petit soucie au niveau du test de l'envoie du mail de confirmation. je Formulaire d'envoi de mail [ par mbik ] J'ai un formulaire online mais le corps du mail est illisible.Voici le code :if($_POST["nom"]!="" AND $_POST["mail"]!=""){$contmail = $_POST['mail'];$ problement avec ma page d'incription [ par beninsta ] bonjour, je suis en bts devlopement et je doit céer un site web pour un projet. seulement voilà je n'arrive pas a coder ma page d'incription [^^sad1] Problème de redirection [ par jipe32 ] Bonsoir, j'ai un code qui redirige vers une autre page si la quantité demandé dans le formulaire précédent dépasse la quatité disponnible (je fais un Vérificateur de changement de données [ par givit ] Bonjour @ tous,Je sais, c'est encore moi ... J'ai un petit souci avec un formulaire de modification de données. Il n'affiche rien lorsqu'il y requete pour recherche multicritere [ par phpnuke ] if (empty($_POST['province'])){$AOP = "OR";}else{$AOP = "AND";}if (empty($_POST['categorie'])){$AOC = "OR";}else{$AOC = "AND";}if (empty($_POST['ville enregistrement [ par album49 ] Bonjour à tous, voilà j'ai un problème :Je souhaite faire un enregistrement à partir de données saisies par un utilisateurMon code html est : <!DOCTYP valider un captcha [ par philclimb ] Bonjour;J'ai réaliser un formulaire de mail que je veux placer dans la page "contact" de mon site.Pour éviter les vilains spams j'ai placé un captcha, Mon script d'inscription plante [ par Joe0557 ] Bonjour, j'ai fais un script d'inscription mais malheureusement il plante. Il m'affiche toujours :Une ou plusieurs erreurs se sont produites pendant l


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,059 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales