[PHP] Livre d'or, problème....
Résolu/Fermé
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
-
4 avril 2009 à 18:13
Utilisateur anonyme - 6 avril 2009 à 20:39
Utilisateur anonyme - 6 avril 2009 à 20:39
A voir également:
- [PHP] Livre d'or, problème....
- Alert php ✓ - Forum PHP
- Header php - Astuces et Solutions
- Telecharger n'importe quel livre gratuitement ✓ - Forum Logiciels
- Undefined index php - Astuces et Solutions
- Votre colis ne peut être livré ce jour. il sera mis en livraison au plus tôt. ✓ - Forum Consommation et internet
14 réponses
Bigfish72
Messages postés
79
Date d'inscription
samedi 28 mars 2009
Statut
Membre
Dernière intervention
11 avril 2009
4
4 avril 2009 à 18:30
4 avril 2009 à 18:30
Salut,
j'ai ta réponse :
remplace tout ton formulaire par :
<form action="" method="post">
<p>
Pseudo :<input type="text" name="pseudo" id="message"/><br />
Message :<textarea rows="5" name="message" cols="18" value="Entrez votre message ici...."></textarea>
<input type="submit" value="Stupéfix !" />
</p>
</form>
Les noms des champs n'étaient pas définis correctement.
j'ai ta réponse :
remplace tout ton formulaire par :
<form action="" method="post">
<p>
Pseudo :<input type="text" name="pseudo" id="message"/><br />
Message :<textarea rows="5" name="message" cols="18" value="Entrez votre message ici...."></textarea>
<input type="submit" value="Stupéfix !" />
</p>
</form>
Les noms des champs n'étaient pas définis correctement.
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
1
4 avril 2009 à 20:04
4 avril 2009 à 20:04
Merci BigFish, mais maintenant cela n'affiche qu'un seul message....:,(
Bigfish72
Messages postés
79
Date d'inscription
samedi 28 mars 2009
Statut
Membre
Dernière intervention
11 avril 2009
4
4 avril 2009 à 20:11
4 avril 2009 à 20:11
Étonnant, chez moi ça affiche tous les messages bidon que j'ai créés. Ta table comprend bien trois champs ?
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
1
4 avril 2009 à 20:24
4 avril 2009 à 20:24
Oui oui !
ID int(11) Non
pseudo varchar(255) latin1_swedish_ci Non
message text
ID int(11) Non
pseudo varchar(255) latin1_swedish_ci Non
message text
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bigfish72
Messages postés
79
Date d'inscription
samedi 28 mars 2009
Statut
Membre
Dernière intervention
11 avril 2009
4
4 avril 2009 à 20:31
4 avril 2009 à 20:31
tu as combien de messages ? Ont-ils bien des ID différents ?
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
1
4 avril 2009 à 20:33
4 avril 2009 à 20:33
Mon dieu !!! Tu as raison je n'avais pas mis l'id en auto_increment !! Merci !
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
1
5 avril 2009 à 15:21
5 avril 2009 à 15:21
Euh maintenant j'ai un autre problème quand je mets un message trop long et ben il ne s'affiche pas...
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
1
5 avril 2009 à 18:53
5 avril 2009 à 18:53
Non, ça marche pas....:,(
Quesque tu met comme message ?
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
1
5 avril 2009 à 19:56
5 avril 2009 à 19:56
Un message de bienvenue à ceux qui viennent sur le livre d'or, basique quoi !
A ouais. Il fait combien de lignes ton message ? Quels sont les messages qui s'affiche correctement ? Combien lignes font-ils ? Enfin, est-ce que tu as un message d'erreur PHP ou MYSQL ?
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
1
5 avril 2009 à 20:25
5 avril 2009 à 20:25
Alors plus simple je vais te mettre le message exactement comme je veux l'envoyez :
"Bonjour à tous !!
Bienvenue sur le Livre d'or de
TDP, autrement dit, le Grimoire
d'or !
Il est à votre disposition pour partager vos avis sur ce site, et
même, y proposez des idées pour l'améliorer !!
Petit rappel :
Le Livre d'or n'est pas un chat"
Voilà, après non je n'ai pas d'erreur, et quand je met des message test sa marche bien, alors....
"Bonjour à tous !!
Bienvenue sur le Livre d'or de
TDP, autrement dit, le Grimoire
d'or !
Il est à votre disposition pour partager vos avis sur ce site, et
même, y proposez des idées pour l'améliorer !!
Petit rappel :
Le Livre d'or n'est pas un chat"
Voilà, après non je n'ai pas d'erreur, et quand je met des message test sa marche bien, alors....
Ce que j'ai fait c'est que j'ai refait la partie du code PHP d'envoi a ma sauce en reproduisant le schema de ta table SQL ce qu m'a eviter de perdre du temps a chercher l'erreur. Bon chez moi sa marche ainsi que ton message de bienvenue et le système de pagination des enregistrements. Reste à voir si ça marche chez toi.
livreor.php
<!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" />
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Pseudo :<input type="text" name="pseudo" id="pseudo"/>
</p>
<p><br />
Message :</p>
<p>
<textarea rows="5" cols="18" name="message">Entrez votre message ici....</textarea>
</p>
<p>
<input type="submit" value="Stupéfix !" />
</p>
</form>
<p class="pages">
<?php
mysql_connect("SERVEUR", "LOGIN", "MDP");
mysql_select_db("BASEDONNEES");
if (isset($_POST['pseudo']) && isset($_POST['message']))
{
$pseudo = htmlspecialchars(mysql_real_escape_string($_POST['pseudo']));
$message = htmlspecialchars(mysql_real_escape_string($_POST['message']));
$message_sl = nl2br($message);
$query = mysql_query("INSERT INTO livreor VALUES('','" . $pseudo . "','" . $message_sl . "')")or die(mysql_error() . ',' . mysql_errno());
}
// 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
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> à écrit :</p><p> ' . $donnees['message'] . ' </p>';
}
mysql_close();
?>
</body>
</html>
Tiens moi au courent.
livreor.php
<!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" />
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Pseudo :<input type="text" name="pseudo" id="pseudo"/>
</p>
<p><br />
Message :</p>
<p>
<textarea rows="5" cols="18" name="message">Entrez votre message ici....</textarea>
</p>
<p>
<input type="submit" value="Stupéfix !" />
</p>
</form>
<p class="pages">
<?php
mysql_connect("SERVEUR", "LOGIN", "MDP");
mysql_select_db("BASEDONNEES");
if (isset($_POST['pseudo']) && isset($_POST['message']))
{
$pseudo = htmlspecialchars(mysql_real_escape_string($_POST['pseudo']));
$message = htmlspecialchars(mysql_real_escape_string($_POST['message']));
$message_sl = nl2br($message);
$query = mysql_query("INSERT INTO livreor VALUES('','" . $pseudo . "','" . $message_sl . "')")or die(mysql_error() . ',' . mysql_errno());
}
// 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
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> à écrit :</p><p> ' . $donnees['message'] . ' </p>';
}
mysql_close();
?>
</body>
</html>
Tiens moi au courent.
ClemsZer0
Messages postés
27
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 avril 2009
1
6 avril 2009 à 20:33
6 avril 2009 à 20:33
Merci beaucoup, ça marche impec' !! Apparemment, cela devait être à cause que le mysql_query n'était pas dans une variable, enfin, bref, encore merci !!