Création
d'entreprise
Posez votre question Signaler

Problème de PHP (Parse error: syntax error) [Résolu]

SinBert 10Messages postés 2 mai 2009Date d'inscription - Dernière réponse le 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.
Lire la suite 

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

9 réponses
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 ;)
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 ;)
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 :)
Ajouter un commentaire
Ce document intitulé « Problème de PHP (Parse error: syntax error) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?