Livre d'or "Parse error: ..." PHP aide

Fermé
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012 - 28 févr. 2012 à 12:33
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 - 29 févr. 2012 à 09:24
Bonjour,

Je possède un site fonctionnel et j'ai décider d'y mettre un livre d'or / une zone de commentaires..
Mais Quand je clique sur envoyer s'affiche soit le message:

Parse error: syntax error, unexpected ';' in /home/varquess/public_html/livreor.php on line 62

OU

Parse error: syntax error, unexpected ';' in /home/varquess/public_html/livreor.php on line 27

Donc si je comprend bien il y a une erreur dans le code PHP a la ligne 27 ou/et 62 ?!



Voici le code en question :


<?php
mysql_connect("localhost", "Identifient", "mot de passe");
mysql_select_db("coursphp");
 
// --------------- Étape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
 
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
    $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
 
    // On peut enfin enregistrer :o)
    mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
 
// --------------- Étape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($reponse);
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
 
</p>
 
<?php
 
 
// --------------- Étape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
 
if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
while ($donnees = mysql_fetch_array($reponse);
{
        echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
 
mysql_close();; // On n'oublie pas de fermer la connexion à MySQL ;o)
?>



Et donc pour décortiquer ça les ligne a erreur sont

27:
$donnees = mysql_fetch_array($reponse);

62:
while ($donnees = mysql_fetch_array($reponse);




Bon, bref j'ai beau avoir cherché et recherché je ne vois pas l'erreur ...

A savoir, ne me balancez pas qu'il faut mettre mes identifient SQL en haut, je l'ai fait c'est juste que je ne les donnes pas dans la topic ^^
Et surtout je débute dans le codage :p


Donc voili voilou si quelqu'un aurais une réponse ça m'aiderais grandement depuis que je me noie là dedans ^^


Oh et voici le site pour voir le prblème en direct >_<
http://varquesse.com/


Cordialement
varquesse
A voir également:

3 réponses

Bonjour

$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($reponse);

Si ta reponse est dans $retour, il faut faire le mysql_fetch_array sur $retour, pas sur $reponse...
1
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
28 févr. 2012 à 13:24
Merci !
mais je dois être maudit ^^
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /home/varquess/public_html/livreor.php on line 27
Page :

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/varquess/public_html/livreor.php on line 62
a écrit :

Aurais tu skype ou tu es aussi au boulo ^^ ?
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
28 févr. 2012 à 13:27
j'ai essayer:

$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor'));
$donnees = mysql_fetch_array($reponse));

(j'ai ajouter une parenthèse)

et donc maintenant c la 26 =="
Parse error: syntax error, unexpected ')' in /home/varquess/public_html/livreor.php on line 26
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
Modifié par TandooriaChoco le 28/02/2012 à 12:58
Bonjour,
Je crois qu'après le while, il n'y a pas besoin de ; et il te manque une parenthèse :
while ($donnees = mysql_fetch_array($reponse));  

Pour la ligne 27, je réfléchis encore.

Jai eu le même soucis pour mon site, mais c'était lié au format de champ texte qui ne prennait pas en compte les caractères spéciaux. J'ai dû changer le format en VARCHAR (je l'avais mis en TEXT).
Ton bout de code à l'air cool, j'ai hâte à voir ce qu'il va donner.
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
28 févr. 2012 à 12:57
ok merci j'essai ça
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
28 févr. 2012 à 12:58
avec ça j'obtiens

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /home/varquess/public_html/livreor.php on line 27
Page :

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/varquess/public_html/livreor.php on line 62
a écrit :


X) je crois que je vais me tuer ^^
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
28 févr. 2012 à 13:00
Aurais tu skype ?
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
28 févr. 2012 à 13:05
Je suis au boulot là. ... je répond pour me faire des pauses, ça me change un peu...
je me demande si ça ne vient pas du fetch_array comme c'est pour un tableau. J'avais résolu mon problème en faisant afficher mes commentaires dans un tableau.
Sinon, je crois que c'est mysql_fetch_assoc
Je vais regarder le code de mon site (si j'y arrive au boulot)
ah oui, sur ton site, j'ai l'impression qu'il y a un souci de padding ou margin sur toutes les pages, c'est pas aéré, le texte est collé sur le bord de ma fenêtre à gauche.
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
28 févr. 2012 à 13:08
collé à quelle endroit ?
J'ai suivi des tutos et c'été comme ça X)
0
j'ai essayer:

$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor'));
$donnees = mysql_fetch_array($reponse));

La première chose à essayer, c'est de comprendre.
Inverser $retour et $reponse est totalement absurde, il faut la même variable dans les deux cas, peu importe comment tu l'appelles mais il faut la même.
Quant à la parenthèse ajoutée... Pourquoi ? Sans être un génie de l'informatique, il me semble évident que chaque parenthèse fermante doit correspondre à une parenthèse ouvrante. Alors, à laquelle voulais-tu faire correspondre ta parenthèse supplémentaire ?
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
28 févr. 2012 à 14:06
ouep m'en suis rendu conte ça sert a rien ^^
0