Page 1 sur 1

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

Posté : 27 juin 2006, 23:21
par alaingpl
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)

Posté : 28 juin 2006, 00:23
par Lorenzo
if( $data['mailvisiteur'] != $Email_visiteur || $data['nomvisiteur'] != $Nom_visiteur)
lol, c'est un cochon qui a programmé cette condition ? :mrgreen:

Posté : 28 juin 2006, 08:50
par Invité
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.

Posté : 28 juin 2006, 08:55
par Lorenzo
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.

Posté : 28 juin 2006, 10:31
par alaingpl
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.

Posté : 28 juin 2006, 10:42
par albat
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)

Posté : 28 juin 2006, 11:41
par alaingpl
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

Posté : 28 juin 2006, 20:58
par Lorenzo
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 ...