Erreur Parse error introuvable

Résolu/Fermé
stajem Messages postés 371 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 20 juin 2011 - 27 août 2008 à 14:02
stajem Messages postés 371 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 20 juin 2011 - 31 août 2008 à 17:16
Bonjour,

Je suis débutant en php (enfin presque) et je souhaite faire un site avec une partie membre. C'est pour un assez gros projet (et j'ai peut-être été trop gourmand vu la difficulté... ^^) Et j'arrête pas d'avoir des erreurs. Pour l'instant je m'en sortais assez bien mais là j'ai une erreur simple que je trouve pas...
J'utilise notepad++ (l'habitude en c++) pour repérer les oublis de parenthèses.

Voilà mon code :

<?

$db = mysql_connect('***', '***', ****'); 
mysql_select_db('***r',$db);                    

if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['pwd'])) {
  extract($_POST);
  $sql = "select pwd from tbl_user where pseudo='".$pseudo."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['pwd'] != $pwd) {
    echo '<p>Mauvais pseudo / password. Merci de recommencer</p>';
    include('index.html');
    exit;
  }
  else {
    session_start();
    $_SESSION['pseudo'] = $pseudo;
    
    echo 'Vous etes bien logué, <a href="index1.html" title="index1">cliquer ici </a>pour continuer';
 
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('index.html'); 
   exit;
}
mysql_close($db);  // 3


?>



Voilà, je suis prêt à tout entendre (enfin dans la limite du raisonnable ^^)

8 réponses

Bonjour

$db = mysql_connect('***', '***', ****');

regarde bien, il te manque une apostrophe ...
0
stajem Messages postés 371 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 20 juin 2011 79
27 août 2008 à 21:27
non, c'est une erreur dans la copie. je viens de vérifier
0
Mastaz Messages postés 65 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 23 février 2012 8
27 août 2008 à 21:46
$sql = "select pwd from tbl_user where pseudo='".$pseudo."'";

Mélange pas les quotes avec la concaténation :S :
$sql = 'select pwd from tbl_user where pseudo= ' . $pseudo;

Préviens si ça c'est arrangé.
0
Ta ligne $sql .. est tout à fait correcte quoi qu'en dise Mastaz. Ne la corrige pas.
Je n'ai aucune Parse error depusi la correction que je t'ai donnée.
Peux tu donner le message d'erreur complet ?

au passage, lil vaut mieux utiliser la balise d'ouverture <?php que simplement <?. Les serveurs n'acceptent pas tous <?
0

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

Posez votre question
je viens de trouver, c'est sur ma page html appellante... erreur TROP bete.

Merci beaucoup quand même.
0
Mastaz Messages postés 65 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 23 février 2012 8
28 août 2008 à 21:45
Toto, même si la ligne marche, la mienne est un peu plus "lisible" mais bon, j'avais jamais vu une ligne comme ça...
Mais bon tant mieu si ça marche...
0
Mastaz, je ne vois pas en quoi ta ligne est plus lisible...
Par contre, signaler une erreur qui n'en est pas une ne rend pas la réponse plus lisible pour celui qui a posé la question.
Tu n'avais jamais vu une ligne comme ça, qu'a-t-elle donc de spécial ? Elle n'utilise que la syntaxe la plus basique de PHP

Ta ligne à toi ne marchera même pas si $pseudo contient un espace ou un ";" alors que celle de stajem continuera de marcher. L'idéal serait en fait d'avoir
$sql = "select pwd from tbl_user where pseudo='".mysql_real_escape_string($pseudo)."'"; 

pour éviter tous les problèmes de caractères spéciaux
0
stajem Messages postés 371 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 20 juin 2011 79
31 août 2008 à 17:16
merci de cette précision ^^
0