Parse error dans un script de vérification de formulaire

Parse error dans un script de vérification de formulaire - PHP - Programmation

Marsh Posté le 08-05-2009 à 15:43:30    

Bonjour,
 
J'ai un parse error à la ligne 54. La ligne 54 est un "else" simple. J'imagine qu'il y a une erreur au niveau de mes conditions if/else.
Je code avec notepad++. Or celui-ci colore automatiquement les parenthèses qui se correspondent et tout semble être bon...
Désolé de pas pouvoir colorer correctement le code... Le mieux est de le copier/coller dans notepad++
 
Merci d'avance  :hello:
 

Code :
  1. <?php
  2.     // Verification des infos POST
  3.     $ok1 = (isset($_POST['pseudo']) and
  4.         isset($_POST['email1']) and
  5.         isset($_POST['email2']) and
  6.         isset($_POST['pwd1']) and
  7.         isset($_POST['pwd2']));
  8.     if ($ok1)
  9.     {
  10.             // Infos POST récupérées
  11.         $pseudo = $_POST['pseudo'];
  12.         $pwd = $_POST['pwd1'];
  13.         function verif_email($adresse)
  14.         {
  15.             $Syntaxe='#^[w.-]+@[w.-]+.[a-zA-Z]{2,6}$#';
  16.             return preg_match($Syntaxe,$adresse);
  17.         }
  18.         $answer = mysql_query('SELECT COUNT(*) AS nbre FROM compteur_live WHERE pseudo = "'.$_POST['pseudo'].'"');
  19.         $donnees = mysql_fetch_array($answer);
  20.             // Vérification des erreurs dans le formulaire
  21.         $reg_error_pseudo_existe == ($donnees['nbre'] > 0);
  22.         $reg_error_email_non_valide == verif_email($_POST['email1']);
  23.         $reg_error_email_different == ($_POST['email1'] == $_POST['email2']);
  24.         $reg_error_pwd_different == ($_POST['pwd1'] == $_POST['pwd2']);
  25.         $reg_error_pseudo_size == (strlen($pseudo) >= 3) and (strlen($pseudo) < 26);
  26.         $reg_error_pwd_size == (strlen($pwd) >= 3) and (strlen($pwd) < 21);
  27.        
  28.         if (!(reg_error_pseudo_existe or $reg_error_email_non_valide or $reg_error_email_different or $reg_error_pwd_different or $reg_error_pseudo_size or $reg_error_pwd_size));
  29.         {
  30.                 // Pas d'erreur => Inscription
  31.             $code = md5($_POST['pseudo'].'coucou');
  32.             $pwd = md5($pwd);
  33.            
  34.             $object = new PDO('mysql:host=localhost;dbname=base_jeu', 'root', '');
  35.             $statement = $object->prepare("INSERT INTO comptes_user (pseudo,mdp,email,code_validation) VALUES (?, ?, ?, ?)" );
  36.             $statement->execute(array($pseudo, $pwd, $_POST['email1'], $code));
  37.                                        
  38.             $headers ='From: Jeu Web<contact@jeu-web.fr>'."\n";
  39.            
  40.             mail($_POST['email1'],'Inscription à Jeu Web','Vous vous êtes inscrit sur Jeu Web.
  41.                
  42. Votre compte est cependant inactif.
  43. Vous devez confirmer votre inscription en cliquant sur ce lien : http://localhost/jeuweb/index.php? [...] m&pseudo=' . $_POST['pseudo'] . '&c=' . md5($_POST['pseudo'].'coucou') . '.
  44. Jeu Web vous remercie pour votre inscription et vous souhaite un bon jeu ! ;-)
  45. Le webmaster.',
  46.                 $headers);
  47.            
  48.             $page = 'register_ok.html';
  49.             $titre = 'Inscription réussie !';
  50.         }
  51.         else
  52.         {
  53.             // Erreur(s) => Correction
  54.             $page = 'register.html';
  55.             $titre = 'Corriger le formulaire';
  56.         };
  57.     }
  58.     else
  59.     {
  60.         // Pas d'infos POST
  61.         $page = 'error_compte_non_actif.html';
  62.         $titre = 'Compte non actif !';
  63.     };
  64. ?>


Message édité par Pascal le nain le 08-05-2009 à 15:54:17
Reply

Marsh Posté le 08-05-2009 à 15:43:30   

Reply

Marsh Posté le 08-05-2009 à 15:46:02    

$headers ='From: Jeu Web<contact@jeu-web.fr>'.\"n\";
a remplacer par  
 $headers ='From: Jeu Web<contact@jeu-web.fr>'."n";


---------------

Reply

Marsh Posté le 08-05-2009 à 15:51:28    

Il y a eu quelques modifications du code dues au copier collé sur le forum.
Le header est en réalité :
 
$headers ='From: Jeu Web<contact@jeu-web.fr>'."\n";
 
C'était bien vu, mais l'erreur est ailleurs  :ange:


Message édité par Pascal le nain le 08-05-2009 à 15:53:08
Reply

Marsh Posté le 08-05-2009 à 15:53:09    


            $statement = $object->prepare(\"INSERT INTO comptes_user (pseudo,mdp,email,code_validation) VALUES (?, ?, ?, ?)\" ); tu as aussi des \" à la palce de "  
( sinon, si on  a pas le bon code, difficile de t aider )


---------------

Reply

Marsh Posté le 08-05-2009 à 15:56:47    

Non ce n'est pas un problème de "\".
 
C'est quand je copie/colle le code sur le forum, celui-ci interprète mon code et enlève ou ajoute des "\" en pagaille....
 
Je peux t'envoyer le fichier php si tu as un mail  :hello:


Message édité par Pascal le nain le 08-05-2009 à 15:58:36
Reply

Marsh Posté le 08-05-2009 à 16:03:14    

http://pastebin.com/ plutôt


---------------

Reply

Marsh Posté le 08-05-2009 à 16:11:27    

Voila
 
http://pastebin.com/m16941819
 
Merci  ;)

Reply

Marsh Posté le 08-05-2009 à 16:40:55    

Vire les ";" après les crochets et les conditions :

Code :
  1. /* pas bon : */
  2. if(truc); {
  3. } else {
  4. };
  5.  
  6. /* bon : */
  7. if(truc) {
  8. } else {
  9. }


Message édité par Profil supprimé le 08-05-2009 à 16:41:16
Reply

Marsh Posté le 08-05-2009 à 16:59:16    

:heink: ... :ouch: ... :sweat: ... :cry:  
 
...
 
Omagad bien vu  ;)  
 
Merci pour votre aide  :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed