Afficher la date et l'heure dans mon chat.

Résolu
kemet1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
kemet1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
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.

Merci d'avance pour votre aide.




2 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Tu utilises un alias pour le champ date_creation dans ta requête (mot clé AS) :
SELECT DATE_FORMAT(date_creation, '%d/%m/%Y %Hh%imin%ss') AS date


Il faut donc utiliser cet alias pour accéder à la donnée :
$donnees['date']


Bonne journée
0
kemet1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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é.


Merci à+. bonne journée.
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Tu peux essayer de faire un var_dump($donnees); dans la boucle while pour voir les données que tu récupères.
0
kemet1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Pilet,

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"

Merci bonne journée.
0
jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Bonjour,
Si ton var_dump ne t'affiche pas la colonne "date" .... c'est que cette colonne n'existe pas ..

Peux tu nous faire un DUMP sql de ta table ?
(si tu ne sais pas comment faire : https://www.techrepublic.com/blog/smb-technologist/import-and-export-databases-using-phpmyadmin/
0
kemet1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention  
 
bonjour,
Le lien m'envoie a une page mais il y a ce message"
Oops! Looks like this page has been removed or no longer exists...
  • scratches head* "

J'ai essayer de chercher ailleurs "faire un DUMP de la table " mais je ne sais vraiment pas quoi et comment faire.

Merci encore et bonne journée.
0
kemet1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention  
 
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');
?>
0