J'ai un parse erreur mais je ne sais pas corriger

Eléphant du PHP | 271 Messages

27 juin 2006, 23:21

Bonsoir,

J'ai ce parse erreur

Code : Tout sélectionner

Parse error: syntax error, unexpected ',' in /home4/s/sitweb-chr/www/challenge/fchal/quiz.php3 on line 48
Je comprends l'erreur, mais je ne vois pas comment la corriger dans la ligne ci - dessous
 if($data['mailvisiteur, nomvisiteur'] != $Email_visiteur, $Nom_visiteur)
Quelqu'un peut - il m'indiquer la correction ? Merci beaucoup.

Bravo les bleus et au 1er juillet (3 à 0)
Patience et obstination sont des qualités !

Eléphant du PHP | 254 Messages

28 juin 2006, 00:23

if( $data['mailvisiteur'] != $Email_visiteur || $data['nomvisiteur'] != $Nom_visiteur)
lol, c'est un cochon qui a programmé cette condition ? :mrgreen:

Invité
Invité n'ayant pas de compte PHPfrance

28 juin 2006, 08:50

Merci de l'aide et j'ai encore besoin de vous..

J'ai à nouveau un parse erreur :

Code : Tout sélectionner

Parse error: syntax error, unexpected T_VARIABLE in /home4/s/sitweb-chr/www/challenge/fchal/quiz.php3 on line 43
dans la ligne ci - dessous :
<?php
 if(isset($_POST) && !empty($_POST['Nom_visiteur']) && !empty($_POST['Email_visiteur'])
 ) {
  extract($_POST);

  $sql = "select mailvisiteur, nomvisiteur from table_verif where mailvisiteur AND nomvisiteur = '"$Mailvisiteur, $Nomvisiteur"'"; //c'est la ligne où j'ai l'erreur
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  $data = mysql_fetch_assoc($req);

  if( $data['mailvisiteur'] != $Email_visiteur || $data['nomvisiteur'] != $Nom_visiteur)
En réalité je ne sais pas comment on code les 2 variables à la fin du select. Je vous remercie de m'aider.

Eléphant du PHP | 254 Messages

28 juin 2006, 08:55

c'est une blague ?
MEME ERREUR sur cette ligne :
$sql = "select mailvisiteur, nomvisiteur from table_verif where mailvisiteur AND nomvisiteur = '"$Mailvisiteur, $Nomvisiteur"'"
ce coup si tu sais comment la corriger !

info : ne pas oublier les "." pour la concatenation de chaine.

Eléphant du PHP | 271 Messages

28 juin 2006, 10:31

Merci de votre aide et je vous en remercie beaucoup. Mais si je m'adresse dans un forum de débutant c'est parceque je débute et que je ne saisi pas toutes les subtilités du PHP.

Encore merci d'avoir pris du temps pour moi.
Patience et obstination sont des qualités !

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

28 juin 2006, 10:42

Si tu regardes bien tes deux codes à l'origine de tes erreurs,
tu verras que tu as pris la mauvaise habitude d'agréger tes paramètres.

On ne dit pas :
(Albert, René) ont (25 ans, 37 ans)
mais :
(Albert a 25 ans) et (René a 37 ans)

Eléphant du PHP | 271 Messages

28 juin 2006, 11:41

Bonjour,

Votre aide est plus compréhensible, plus pédagogique.
J'ai corrigé de la façon suivante :

$sql = "select mailvisiteur, nomvisiteur from table_verif where mailvisiteur = '$Mail_visiteur.' || nomvisiteur = '$Nom_visiteur.'" ;

Sa fonctionne, mais j'ai d'autres soucis.. J'essai de les corriger une par une.

Merci de l'aide
Patience et obstination sont des qualités !

Eléphant du PHP | 254 Messages

28 juin 2006, 20:58

Merci de votre aide et je vous en remercie beaucoup. Mais si je m'adresse dans un forum de débutant c'est parceque je débute et que je ne saisi pas toutes les subtilités du PHP.

Encore merci d'avoir pris du temps pour moi.
desolé mais je pensais que tu avais repiqué le code ailleurs ce qui expliquait les erreurs ... j'ai meme cru que c'etait une blague au debut :D


d'ailleurs pour infos ya encore une erreur dans ta correction :
$sql = "select mailvisiteur, nomvisiteur from table_verif where mailvisiteur = '$Mail_visiteur' || nomvisiteur = '$Nom_visiteur'" 
tu utilises les . quand tu fais une concatenation, vu que tu inclus directement tes vars entre "" tu n'as pas besoin des "."

exemple de concatenation :
$sql = "select mailvisiteur, nomvisiteur from table_verif where mailvisiteur = '".$Mail_visiteur."' || nomvisiteur = '".$Nom_visiteur."'"; 


en plus propre ya sprintf()
$stReq = 'select mailvisiteur, nomvisiteur from table_verif where mailvisiteur = \'%s\' || nomvisiteur = \'%s\'';
$stFormatReq = sprintf($stReq, $Mail_visiteur, $Nom_visiteur);
 

derniere chose et tu sur que le ou (||) (OR) a sa place pour cette verification ?
ca serait pas plutot un et (&&) (AND) ?
vu que je ne connais pas le code derriere la condition, il est tres dur de repondre a ta place ...