Problème de PHP (Parse error: syntax error)

Résolu/Fermé
SinBert Messages postés 10 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 - 2 mai 2009 à 20:32
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 2 mai 2009 à 21:55
Bonjour,
J'ai un problème avec mon script. Il se peut que se problème aie déjà été rencontré de nombreuses fois.

L'erreur :
"Parse error: syntax error, unexpected $end in /www/sites/1/ifrance.com/b/e/bert0204/site/classement.php on line 46"

Mon script :
"<?php
/*connection a la base de donnee*/

$connect = mysql_connect ( '', '', '' ) or die("Erreur de connexion au serveur");

mysql_select_db('', $connect) or die("Erreur de connexion à la base");


$reponse == mysql_query("SELECT * FROM dragotaka_ranking ORDER BY lvl DESC);


while ($donnees = mysql_fetch_array($reponse) )
{
?>

<html><head><title>Classement</title></head><body>
<table border='1' width='30%'>
<tr>
<td rowspan='3'><?php $_POST[id]; ?>*</td><td colspan='3'><?php $_POST[forumname]; ?></td>
<td>Image : N/A </td>
</tr>
<tr>
<td><?php $_POST[ign]; ?></td>
</tr>
<tr>
<td><?php $_POST[commentaire]; ?></td>
</tr>

</table>


L'id du joueur est sa place dans le classement. Celui-ci est acluelement fixe vu que le jeu n'est pas encore lancé.<br />
</body>

</html>
<?php
}
/* Deconnection de la base de donnee */
mysql_close(); // Déconnexion de MySQL

?>

Ligne 46 ICI >>
"

Que se passe il?
Pourquoi l'erreur se trouve sur une ligne où il n'y a aucune code?

Merci d'avance!


PS :Les identifiants de la connections a la base de donnée ont été volontairement omis.



PS2 : je débarque sur ce forum donc excusez la pitoyable mise en forme du texte.
A voir également:

9 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
2 mai 2009 à 20:50
Essaye déjà de changer ceci :
$reponse == mysql_query("SELECT * FROM dragotaka_ranking ORDER BY lvl DESC); 


En ceci :
$reponse = mysql_query("SELECT * FROM dragotaka_ranking ORDER BY lvl DESC"); 


Parce que le double égal est utiliser pour les comparaisons et non pour les affectations. Et tu dois aussi fermer la requête SQL par " après DESC sinon il va prendre toute ta page pour la requête :p

Sinon essaye de mettre ton code entre les balises <code > et </code > quant tu le poste sur le forum.
0
SinBert Messages postés 10 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 24 septembre 2009
2 mai 2009 à 20:54
Oui, merci sa marche.

J'avais aussi oublié un """ dans le mysql_query().

Le problème qui suit : Rien ne s'affiche, page blanche. Pourtant je suis certain que ma BDD continent des variables.

PS : Merci pour les balise, j'y penserai la prochaine fois ;)
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
2 mai 2009 à 20:55
Je me permet de rajouter que là il va te faire les en-tête html pour chaque enregistrement.

Donc tu aura plusieurs fois ceci :
<html><head><title>.......</title></head>


Hors idéalement il ne faut mêtre qu'une seule vois l'en-tête.

Essaye de regarder le source de la page qui est générée par ton code PHP pour voir un peu si c'est bien normal.
0
SinBert Messages postés 10 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 24 septembre 2009
2 mai 2009 à 21:03
Au niveau de la page générée, voici ce que j'obtient :
<html><head>...</head></html>


Même pas de balise <body>.

Je viens de changer ma page en ceci :
<html><head><title>Classement</title></head><body bgcolor="#2f1d0f">

<?php
/*connection a la base de donnee*/

$connect = mysql_connect ( 'imysql04', 'i5585523', 'pbzuk0xsskwidjvi' ) or die("Erreur de connexion au serveur");

mysql_select_db('i5585523', $connect) or die("Erreur de connexion à la base");


$reponse = mysql_query("SELECT * FROM dragotaka_ranking ORDER BY lvl DESC");


while ($donnees = mysql_fetch_array($reponse) ){
?>

<table border='1' width='30%'>
<tr>
    <td rowspan='3'><?php $_POST[id]; ?>*</td><td colspan='3'><?php $_POST[forumname]; ?></td>
    <td>Image : N/A </td>
  </tr>
  <tr>
    <td><?php $_POST[ign]; ?></td>
  </tr>
  <tr>
    <td><?php $_POST[commentaire]; ?></td>
  </tr>

</table>


L'id du joueur est sa place dans le classement. Celui-ci est acluelement fixe vu que le jeu n'est pas encore lancé.<br />

<?php
}
 /* Deconnection de la base de donnee */
mysql_close(); // Déconnexion de MySQL

?>

</body>

</html>

Dans ce cas ci, la page générée prend la couleur #2f1d0f du background mais pas de tableau.

Je suppose que ma bdd marche bien vu qu'elle ne génère aucune erreure et que le fait qu'il n'y ai pas de tableau ne signifie pas qu'il n'y a pas de variable disponible.
0

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

Posez votre question
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
2 mai 2009 à 21:07
Fait un peu ceci avant le "while ($donnees = mysql_fetch_array($reponse) )" et dit nous ce qu'il s'affiche :

echo "Nb. enr. = ".mysql_num_rows($reponse);


Donc met le juste la ligne avant le while ;)
0
SinBert Messages postés 10 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 24 septembre 2009
2 mai 2009 à 21:13
Mmh... rien T T

Page blanche (sauf la couleur du BG)

Personnellement, j'ai vérifier plus d'une fois les infos concernant ma BDD et je peux vous assurer que celles-ci sont correcte.

Je ne vois pas quel est le soucis avec mon code...
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
2 mai 2009 à 21:35
Si la ligne que je t'ai donnée n'affiche rien en la placant avant le while, c'est que tu as un gros soucis car elle doit d'office s'éxecuter et affichier "Nb. enr. = ", après elle affiche le nombre d'enregistrement mais ça limite s'il n'y serait pas c'est pas bien grave.

Tu es sur d'éditer les fichiers que tu utilise pour la production?

Si tu remplace tout ton code par "Bonjour" tu vois Bonjour ?
0
SinBert Messages postés 10 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 24 septembre 2009
2 mai 2009 à 21:40
Effectivement, je viens de trouver mon problème :
Le liens qui liait mon index a cette page n'était pas bon et pour une raison inconnue m'affichait une page vierge.

Le problème est résolu, cependant : Nb. enr. = 0

Bref, le problème de cette page est résolu : merci!

PS : Le Nb. enr. = 0 doit être du a ma page d'ajout, je vais vérifier.
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
2 mai 2009 à 21:55
Ok bonne chance, mais si tu as 0 enregistrement retournés par ta requête SQL vérifie s'il en existe bien dans ta table et si ta requête est bonne :)
0