Rechercher : dans
Par :

Erreur Parse error introuvable

Dernière réponse le 31 aoû 2008 à 17:16:16 stajem, le 27 aoû 2008 à 14:02:14 
 Signaler ce message aux modérateurs

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 ^^)
Vivre, c'est rien. Mais c'est tellement...
Promoteur actif de logiciels et d'environnements libres 

Meilleures réponses pour « erreur Parse error introuvable » dans :
Parse error: syntax error, unexpected $end Voir Lorsque l'on programme en Php, on se retrouve inévitablement un jour devant ce genre d'erreur: Parse error: syntax error, unexpected $end in Command line code on line 1 En français, ça signifie grossièrement: "Erreur d'analyse du code: il y a une...
PHP Parse error: unexpected '&lt;' in ... eval()'d code on l VoirSymptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected '
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :

1

toto, le 27 aoû 2008 à 14:46:39

Bonjour

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

regarde bien, il te manque une apostrophe ...

Répondre à toto

2

stajem, le 27 aoû 2008 à 21:27:55

Non, c'est une erreur dans la copie. je viens de vérifier Vivre, c'est rien. Mais c'est tellement...
Promoteur actif de logiciels et d'environnements libres 

Répondre à stajem

3

Mastaz, le 27 aoû 2008 à 21:46:00

$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é.

Répondre à Mastaz

4

toto, le 28 aoû 2008 à 08:42:10

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 <?

Répondre à toto

5

stajem, le 28 aoû 2008 à 13:34:48

Je viens de trouver, c'est sur ma page html appellante... erreur TROP bete.

Merci beaucoup quand même. Vivre, c'est rien. Mais c'est tellement...
Promoteur actif de logiciels et d'environnements libres 

Répondre à stajem

6

Mastaz, le 28 aoû 2008 à 21:45:23

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...
Les lamer'z, c'est comme les virus, c'est dur de s'en débarrasser :X !

Répondre à Mastaz

7

toto, le 29 aoû 2008 à 10:07:03

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

Répondre à toto

8

 stajem, le 31 aoû 2008 à 17:16:16

Merci de cette précision ^^ Vivre, c'est rien. Mais c'est tellement...
Promoteur actif de logiciels et d'environnements libres 

Répondre à stajem