Erreur php ';'

Résolu
cabon.contact -  
 cabon.contact -
Bonjour,
J'ai un problème ou plutôt une incompréhension d'erreur.
5 - if(!empty($_POST) && strlen($_POST['prenom'])<4 && filter_var($_POST['email'],     FILTER_VALIDATE_EMAIL)) {
6 -	$prenom = addslashes($_POST['prenom']);
	$email = addslashes($_POST['email']);
	$password = sha1($_POST['password']);
	$token = sha1(uniqid(rand()));


Parse error : Syntax error, unexpected ';' in .. ligne 5

Je voit pas ce qu'il y a comme problème, j'ai essayé de mettre un ';' mais rien n'y fait.

Merci d'avance pour vos réponses

8 réponses

  1. TheJokeAir Messages postés 48 Statut Membre 4
     
    Bonjour, il faut sûrement que tu mettes des parenthèses autour des autres conditions:

    if(!empty($_POST) && (strlen($_POST['prenom'])<4) && (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)))

    Essaie pour voir?
    0
  2. cabon.contact
     
    Salut, merci pour ta réponse mais rien n'y fait. Pourtant le code est bon, je voit pas du tout le problème.
    0
  3. Utilisateur anonyme
     
    Il n'y avait aucun problème de parenthèses à ce niveau.

    Le message te dit qu'il trouve un ';' ligne 5 alors qu'il ne s'y attend pas.
    Or, il n'y a pas de ';' dans ta ligne 5, donc ce n'est pas la bonne.

    Les lignes sont-elles bien extraites du fichier indiqué dans le message d'erreur ?
    Les lignes ne sont peut-être pas numérotées comme tu crois. Peux-tu montrer les 10 premières lignes de ton script ?
    0
  4. cabon.contact
     
    Voila le script php en entier, je ne voit toujours aucune erreur ainsi que les lignes sont belle et bien numérotées.

    <?php
    require_once 'connexion.php';
    ?>
    <?php
    if(!empty($_POST) && (strlen($_POST['prenom'])) && filter_var($_POST['email']; FILTER_VALIDATE_EMAIL)) {
    	$prenom = addslashes($_POST['prenom']);
    	$email = addslashes($_POST['email']);
    	$password = sha1($_POST['password']);
    	$token = sha1(uniqid(rand()));
    	
    	$q = array('prenom'=>$prenom, 'email'=>$email, 'password'=>$password, 'token'=>$token);
    	$sql = 'INSERT INTO member(prenom, email, password, token) VALUES (:prenom, :email, :password, :token)';
    	$req = $connexion=>prepare($sql);
    	$req ->execute($q);
    	//Envoyer un email pour la validation d'activation
    }
    ?>
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    filter_var($_POST['email']; FILTER_VALIDATE_EMAIL))

    Il y a bien un ; à la place d'une virgule dans le code, comme le message te le disait, et comme je te l'avais traduit pour le cas où tu ne serais jamais allé au collège.

    Pourquoi avais-tu donné une copie inexacte de ta ligne ? Tu avais corrigé l'erreur en reproduisant la ligne, nous ne risquions pas de trouver l'erreur.
    0
  7. cabon.contact
     
    Oui excuse moi, hier j'avais corriger l'erreur mais j'ai compris que l'erreur venait de WAMP car il n'avait pas actualisé le fichier en question.
    Merci à tous, mon problème est résolu.
    0
  8. Utilisateur anonyme
     
    l'erreur venait de WAMP
    Pas ma faute, M'sieur...
    Pourquoi ne veulent-ils jamais l'admettre ?
    0
  9. cabon.contact
     
    Non sérieusement j'ai tester le fichier sur mon hébergeur et cela a fonctionné, j'ai alors redémarrer mon pc (donc forcement wamp..) et la ça a fonctionné, du moins le script.
    0