Livre d'Or

Petit nouveau ! | 4 Messages

18 avr. 2006, 17:34

Bonjour,
Me revoila, après une journée dédiée à apprendre le PHP, j'ai, avec succès fait 2 scripts : Page protegé par mot de passe et un mini-chat.
Maintenant, je cherche à faire un livre d'or. J'ai encore un probleme au niveau de l'envoye d'information :s

Code : Tout sélectionner

<p> <form action="livredor.php" method="post"> <p>Pseudo :<br><input name="pseudo" type="text"></p> <p>Message :<br><textarea name"message" rows="8" cols="45"></textarea></p> <input name="boutton" type="submit" value="Valider"> </p> <?php //On test ce qui a été saisie. if (isset ($_POST['pseudo']) AND isset ($_POST['message'])) { if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) { $pseudo = htmlentities ($_POST['pseudo']); $message = htmlentities ($_POST['message']); $message = nl2br($message); //Si il y a une saise, on se connecte à la base sql. mysql_connect("localhost","root","") OR die('Erreur de connexion '.mysql_error()); mysql_select_db('test') OR die('Erreur'.mysql_error()); //On envoie les informations à la base sql. mysql_query("INSERT INTO livredor VALUES('', '" . $pseudo . "', '" . $message . "')") OR die('Erreur'.mysql_error()); //On a finie. On ferme la connection. mysql_close(); } } //Maintenant, on s'occupe des pages. $nbrdemessparpage = 20; //On regarde combien il y a de messages en tout. mysql_connect('localhost','root','') OR die('Erreur de connexion '.mysql_error()); mysql_select_db('test') OR die('Erreur'.mysql_error()); $retour = mysql_query("SELECT COUNT(*) AS nb_mess FROM livredor") OR die('Erreur'.mysql_error()); $donnees = mysql_fetch_array($retour); $nbrdemesstotal = $donnees['nb_mess']; mysql_close(); //On regarde combien de pages sont nécessaires. $nbrdepage = ceil($nbrdemesstotal/$nbrdemessparpage); //On fait une boucle pour creer les pages. echo 'Page : '; for ($i = 1 ; $i <= $nbrdepage ; $i++) { echo '<a href="livredor.php?page=' . $i . '">' . $i . '</a> '; } ?> </p> <?php //On recupere la page. if (isset($_GET['page'])) { $page = $_GET['page']; } else { $page = 1; } //on situe le premier message. $firstmess = ($page-1)*$nbrdemessparpage; //On recupere les informations de la base sql. mysql_connect('localhost','root','') OR die('Erreur de connexion '.mysql_error()); mysql_select_db('test') OR die('Erreur'.mysql_error()); $reponse = mysql_query('SELECT * FROM livredor ORDER BY id DESC LIMIT ' . $firstmess . ', ' . $nbrdemessparpage) OR die('Erreur'.mysql_error()); if ($reponse) { while ($donnees = mysql_fetch_array($reponse)) { echo '<p><gras>' . $donnees['pseudo'] . '</gras> a écrit :<br />' . $donnees['message'] . '</p>'; } } mysql_close (); ?>
Encore merci d'avance ;)

ViPHP
ViPHP | 3607 Messages

18 avr. 2006, 19:37

Bon déja se serait cool que tu édites ton post pour mettre la balise php plutôt que code, c'est plus joli :D
ensuite, tu dits
J'ai encore un probleme au niveau de l'envoye d'information :s
mais tu ne nous donne pas les informations qui ne sont pas envoyée, tu ne nous donne pas s'il y en a de messages d'erreur rien du tout...
s'il fallait copier le code de chaque internaute, de l'essayer en local pour ce qui va pas, on s'en sortirai pas, d'accord ou non?
merci :wink:

Eléphant du PHP | 254 Messages

18 avr. 2006, 19:40

je vois des erreurs de frappes ...

name"message" -> name="message"

name="boutton" -> name="bouton" ;)

AND isset -> && isset

$_POST['pseudo'] != NULL -> $_POST['pseudo'] != '' (car c'est une chaine vide qui est transmise)


ennsuite si tu indiques pas les erreurs difficile de tout deviner :)