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

varquesse Messages postés 21 Statut Membre -  
TandooriaChoco Messages postés 96 Statut Membre -
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

3 réponses

le père
 
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 21 Statut Membre
 
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 21 Statut Membre
 
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 96 Statut Membre 3
 
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 21 Statut Membre
 
ok merci j'essai ça
0
varquesse Messages postés 21 Statut Membre
 
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 21 Statut Membre
 
Aurais tu skype ?
0
TandooriaChoco Messages postés 96 Statut Membre 3
 
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 21 Statut Membre
 
collé à quelle endroit ?
J'ai suivi des tutos et c'été comme ça X)
0
le père
 
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 21 Statut Membre
 
ouep m'en suis rendu conte ça sert a rien ^^
0