Bonjour,
Je suis nouveau sur ce forum et je viens vous demander de l'aide. En effet, je suis débutant en PHP et j'apprend les bases de ce langage sur un autre site (que je ne citerais pas

) et j'essaie de faire un livre d'or. Je ne cherche pas à faire quelque chose de compliqué mais seulement pouvoir ajouter des messages via un formulaire mais aussi, et c'est nouveau pour moi, afficher les messages sur plusieurs pages.
Après avoir codé mon livre d'or, je décide de le tester. Je règle quelques petits problèmes mais trois messages d'erreurs persistent. Ils me disent que je n'ai pas déclaré mes variables alors que je m'en sers pour calculer le nombre de pages que j'ai à afficher ...
Donc ma question est simple : comment résoudre ce problème de variables qui ne sont apparemment pas déclarées ?
Ah oui j'oubliais, j'ai une erreur SQL qui me dit qu'il y a une erreur près du caractère " dans la ligne 1 de mon code (donc dans le DOCTYPE

) !
Voici mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>TP PHP : Livre d'or</title>
<meta http-esquiv="Content-Type" content="text/html ; charset=iso-8859-1" />
</head>
<style type="text/css">
</style>
<body>
<form method="post" action="livreor.php">
<p> Mon site vous plaît ? Laissez-moi un message !</p>
<p>
Pseudo : <input name="pseudo" /> <br />
Message : <br />
<textarea name="message" rows="8" cols="35"></textarea> <br />
<br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test");
//Etape 1 : Si un message est envoyé, on l'enregistre
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
//On crée des variables
$pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);
$message = htmlentities($_POST['message'], ENT_QUOTES);
$message = nl2br($message); // On ajoute des retours à la ligne (<br />) pour chaque entrée dans le textarea
//On enregiste le message
mysql_query("INSERT INTO livreor VALUES('', '$pseudo', '$message')");
}
//Etape 2 : Créer les liens vers chaque page
//On définit le nombre de messages par pages
$nombreDeMessagesParPages = 20;
// On récupère le nombre total de messages
$retour = mysql_query("SELECT COUNT(*) AS nb_messages FROM livreor"); //On récupère le contenu de la table livreor
$donnees = mysql_fetch_array($retour); //On ordonne tout ça
$totalDesMessages = $donnees['nb_messages'];
$nombresDePages = ceil($totalDesMessages / $nombreDeMessagesParPages); //On calcule le nombre de pages qu'il nous faut pour stocker les messages
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a>';
}
//Etape 3 : Afficher les messages
if (isset($_GET['page']))
{
$page = intval($_GET['page']); // On récupère le numéro de la page
}
else
{
$page = 1; // On initialise le numéro de la page : le visiteur vient d'arriver ...
}
// 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") or die(mysql_error());
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
?>
</body>
</html>
... Et les erreurs :
Notice: Undefined variable: nombreDePages in c:\documents and settings\vince\mes documents\tp php\livreor.php on line 51
Notice: Undefined variable: nombreDeMessagesParPage in c:\documents and settings\vince\mes documents\tp php\livreor.php on line 67
Notice: Undefined variable: nombreDeMessagesParPage in c:\documents and settings\vince\mes documents\tp php\livreor.php on line 69
Erreur de syntaxe près de '' à la ligne 1
NB : J'ai ajouté un "or die(mysql_error());" pour voir où se situait l'erreur SQL.
Voilà, merci d'avance

,
Vinchz.