Problème dans mon code php pour livre d'or

Fermé
immortal-ombre Messages postés 137 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 24 avril 2012 - 23 août 2009 à 19:21
immortal-ombre Messages postés 137 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 24 avril 2012 - 23 août 2009 à 20:05
Bonjour,
J'ai envie d'ajouter un livre d'or, grace eu tuto du zero j'ai réussi à créer un livre d'or, sa marche très bien mais j'aimerais ajouter une liste déroulante pour ke les internautes puissent noter mon site.
Mais depuis que j'ai ajouté cette liste déroulante plus rien ne va ... et je n'arrive pas a trouver mon erreur
Voici mon code php en sachant que sur php my admin j'ai crée une base de donnée apelé test et une table apelé livreor :
<!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>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">
form, .pages
{
text-align:center;
}
</style>
</head>
<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 />
quele note doneriez vous a mon site? <select name="note">
<option value="1"> 1</option>
<option value="2"> 2</option>
<option value="3"> 3</option>
<option value="4"> 4</option>
<option value="5"> 5</option>
<option value="6"> 6</option>
<option value="7"> 7</option>
<option value="8"> 8</option>
<option value="9"> 9</option>
<option value="10"> 10</option>
</select>


<input type="submit" value="Envoyer" />
</p>
</form>

<p class="pages">

<?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']) AND isset($_POST['note']))
{
$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 . "', '" . $_POST['note'] . "')");
}

// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------

// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 20; // 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($retour);
$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


// --------------- Etape 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'] . .$donnees[$_POST['note']]. '</p>';
}

mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>

</body>
</html>

Merci d'avance pour vos réponses qui je l'espère seront rapides
A voir également:

6 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
23 août 2009 à 19:26
bonsoir,
tu peux essayer avec le code suivant:
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '" . $_POST['note'] . "')"); 
 echo mysql_error().'<br />';

si il y a une erreur tu peux nous la communiquer, merci bonne soirée
0
immortal-ombre Messages postés 137 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 24 avril 2012 27
23 août 2009 à 19:38
Bon ya toujours une éreur mais je vous ai un peu compliké la tache -_- j'ai oublié de vous dire l'ereur c vrai que c un peu compliqué sans voici l'ereur que sa m'affiche sur la page:
Parse error: parse error in C:\wamp2\wamp\www\test\livreor.php on line 106

juste pour vous aidez afin que vous ne contiez pas toutes les lignes la lignes 106 es tout a la fin, c'est celle-ci:
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . .$donnees[$_POST['note']]. '</p>';

Merci d'avances de vos réponses qui je l'espère seront rapides
0
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
23 août 2009 à 19:42
essayer comme ceci
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . ' '.$donnees['note']. '</p>';
0
immortal-ombre Messages postés 137 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 24 avril 2012 27
23 août 2009 à 19:46
Bon sa marche toujours pas mais sa c'est tout de meme bien amélioré :
Les 2 emplacement pour écrire sont aparu et aussi la liste déroulante mais il y a toujours un message d'ereur en dessou et quand j'appui sur envoyer sa n'envoi rien
Voici le message d'ereur qui s'affiche:Notice: Undefined index: note in C:\wamp2\wamp\www\test\livreor.php on line 106

(la ligne 106 est celle que tu vien de me donner)
0

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

Posez votre question
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
23 août 2009 à 19:59
essai de remplacer par la ligne suivant: ligne 102
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage.'');
0
immortal-ombre Messages postés 137 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 24 avril 2012 27
23 août 2009 à 20:05
Bah sa marche toujours pas toujours le meme problème d'ailleurs j'ai po très bien vu la différence entres le code que tu ma donné à l'instant et le mieu mais c'est pas grave l'essantiel c'est que sa marche toujour pa =(
0