Tchatbox message qui ne s'affcihe pas

Fermé
Goliate - 17 oct. 2016 à 03:03
jordane45 Messages postés 38288 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 15 novembre 2024 - 19 oct. 2016 à 08:47
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:

<!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

jordane45 Messages postés 38288 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 15 novembre 2024 4 703
19 oct. 2016 à 08:47
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

1
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
17 oct. 2016 à 08:10
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']; ?>

0
Bonsoir,

J'ai essayé l'astuce ça me marche pas.Par contre je vois bien les messages dans ma bdd... je comprends pas trop.
0
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				
		  	},
		});
	}
0