Bonsoir à tous,
je suis entrain de coder un chat avec la date et l'heure du message en mode francophone avant le pseudo.Le probléme est quej'arrive pas a récuperer et afficher la date et l'heure .
Voici mes codes:
une partie de:minichat.php
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=dbchat;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des messages
$reponse = $bdd->query('SELECT DATE_FORMAT(date_creation, '%d/%m/%Y %Hh%imin%ss') AS date,pseudo, message FROM chat')
// Affichage des messages
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['date_creation']). htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}
$reponse->closeCursor();
?>
</body>
</html>
minichat_post.chat
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=dbchat;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 chat (pseudo, message) VALUES(?, ?)');
$req->execute(array($_POST['pseudo'], $_POST['message']));
// Redirection du visiteur vers la page du minichat
header('Location: minichat.php');
?>
Quand je poste un message seuls apparaissent le pseudo et le message mais non la date et l'heure.mais dans la table il ya l'eure en format anglais.
Bonjour Pilet,
Excuse moi j'ai commis une erreur de frappe.A la place de "AS date "j'avais mis "AS date_creation" du nom de la collonne des dates sur la table "chat".
Cependant je ne vois toujours pas le procécédé que vous m'avez suggeré.
Je crois que je n'avais pas encore appris la fonction " var_dump" mais j'ai essayer de chercher le mode d'emploi sur le net.Je ne suis pas sur mais voilà ce que j'ai fait:
// Récupération message
$reponse = $bdd->query('SELECT * FROM chat ');
// Affichage de chaque message
while ($donnees = $reponse->fetch())
{
echo '<p>'var_dump($donnees); '</p>';
}
$reponse->closeCursor();
?>
</body>
</html
Cependant le résultat est le meme j'ai le pseudo et le message mais pas la date qui est pourtant presente dans la table"chat"
Bonjour à tous et merci pour l'aide.J'ai trouveé le bonheur en continuant a chercher .Voici la solution si ça peut aider.
minichat.php
<!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=dbchat;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// recuperation message
$dat = date("d/m/Y H:i:s");
$reponse = $bdd->query("SELECT pseudo, message, DATE_FORMAT(dat, '%d/%m/%Y à %Hh%imin%ss') AS date_fr FROM chat ORDER BY ID DESC");
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><center> Le ' . $donnees['date_fr']. ':<strong> ' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</center></p>';
}
$reponse->closeCursor();
?>
</body>
</html>
minichat_post.php
<?php
Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=dbchat;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 chat (pseudo, message,dat ) VALUES(?, ?,NOW())');
$req->execute(array($_POST['pseudo'], $_POST['message']));
// Redirection du visiteur vers la page du minichat
header('Location: minichat.php');
?>
Excuse moi j'ai commis une erreur de frappe.A la place de "AS date "j'avais mis "AS date_creation" du nom de la collonne des dates sur la table "chat".
Cependant je ne vois toujours pas le procécédé que vous m'avez suggeré.
Merci à+. bonne journée.