Tchatbox message qui ne s'affcihe pas
Goliate
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis ce tutoriel concernant la création d'une tchatbox:
https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/tp-un-mini-chat
Je n'ai pas de message d'erreur de mysql mais par contre je vois pas les 10 derniers message qui s'affiche... j'utilise unbutu et apache 2.2:
code du tchat:
Code de traitement des messages (la ou c'est censé s'afficher donc):
Je suis exactement le tuto donc je comprends pas pourquoi ça ne s'affiche pas.
Je suis ce tutoriel concernant la création d'une tchatbox:
https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/tp-un-mini-chat
Je n'ai pas de message d'erreur de mysql mais par contre je vois pas les 10 derniers message qui s'affiche... j'utilise unbutu et apache 2.2:
code du tchat:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Mini-chat</title>
</head>
<style>
form
{
text-align:center;
}
</style>
<body>
<form action="minichat_post.php" method="post">
<p>
<label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" /><br />
<label for="message">Message</label> : <input type="text" name="message" id="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0, 10');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}
$reponse->closeCursor();
?>
</body>
</html>
Code de traitement des messages (la ou c'est censé s'afficher donc):
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minichat (pseudo, message) VALUES(?, ?)');
$req->execute(array($_POST['pseudo'], $_POST['message']));
// Redirection du visiteur vers la page du minichat
header('Location: minichat.php');
?>
Je suis exactement le tuto donc je comprends pas pourquoi ça ne s'affiche pas.
4 réponses
-
Bonjour
Ne parts pas dans tous les sens..
Reviens sur ton premier code et Commence donc par ça :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
-
Bonjour,
As-tu vérifié dans ta base de données que les données sont bien enregistrées ?
Je te conseille de mettre ce code au début de tes deux pages :
<?php empty($_POST['donnees']) ? $donnees = '' : $donnees = $_POST['donnees']; ?>
-
Bonsoir,
J'ai essayé l'astuce ça me marche pas.Par contre je vois bien les messages dans ma bdd... je comprends pas trop. -
J'essai de tester ce tutoriel sans base de donnée:
https://code.tutsplus.com/fr/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931
Je vois bien la shoutbox mais a part le fichier index et post.php, je comprends pas trop ou il faut placé les autres morceaux de code qui suivent, dans un fichier js a part ou dans l'index.php en lui meme ? ( noter que je veux juste faire un test pour voir si mes messages apparaissent, j'ai pas encore rajouter de SESSION_name).
/If user submits the form $("#submitmsg").click(function(){ var clientmsg = $("#usermsg").val(); $.post("post.php", {text: clientmsg}); $("#usermsg").attr("value", ""); return false; });
Et
//Load the file containing the chat log function loadLog(){ $.ajax({ url: "log.html", cache: false, success: function(html){ $("#chatbox").html(html); //Insert chat log into the #chatbox div }, }); }