Erreur php ';'
Résolu
Bonjour,
J'ai un problème ou plutôt une incompréhension d'erreur.
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
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
-
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.
-
l'erreur venait de WAMP
Pas ma faute, M'sieur...
Pourquoi ne veulent-ils jamais l'admettre ? -
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. -
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. -
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 } ?> -
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 ? -
Salut, merci pour ta réponse mais rien n'y fait. Pourtant le code est bon, je voit pas du tout le problème.
-
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?