Erreur php ';'

Résolu/Fermé
Utilisateur anonyme - 1 sept. 2012 à 17:10
 Utilisateur anonyme - 5 sept. 2012 à 21:31
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

TheJokeAir Messages postés 46 Date d'inscription mercredi 15 août 2012 Statut Membre Dernière intervention 9 septembre 2012 4
Modifié par TheJokeAir le 1/09/2012 à 19:13
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
Utilisateur anonyme
1 sept. 2012 à 22:49
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
Utilisateur anonyme
1 sept. 2012 à 23:39
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
Utilisateur anonyme
2 sept. 2012 à 00:18
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
2 sept. 2012 à 08:01
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
Utilisateur anonyme
2 sept. 2012 à 11:50
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
Utilisateur anonyme
2 sept. 2012 à 20:56
l'erreur venait de WAMP
Pas ma faute, M'sieur...
Pourquoi ne veulent-ils jamais l'admettre ?
0
Utilisateur anonyme
5 sept. 2012 à 21:31
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

Discussions similaires