Ajouter la date et l'heure pour mini tchat.
Fermé
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
-
23 mars 2013 à 17:03
luluwebmaster Messages postés 409 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 3 février 2018 - 26 mars 2013 à 11:12
luluwebmaster Messages postés 409 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 3 février 2018 - 26 mars 2013 à 11:12
A voir également:
- Ajouter la date et l'heure pour mini tchat.
- Meilleur mini pc - Guide
- Télécharger opera mini pour pc - Télécharger - Navigateurs
- Geekom mini it11 - Guide
- Coco tchat ✓ - Forum Réseaux sociaux
- Tchat adulte ✓ - Forum Réseaux sociaux
26 réponses
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
Modifié par dugenou le 24/03/2013 à 09:33
Modifié par dugenou le 24/03/2013 à 09:33
Bien sûr que si.
Si tu lis bien ce qui est dit dans le message du 6 février 2006, il faut déclarer la variable $date = Date("d/m/Y H:i:s");
puis il faut l'insérer à la base de données.
Dans l'exemple du message du 6 février 2006 :
$sql="INSERT INTO table (id,prenom,nom,commentaire,date)VALUES('$id',$'prenom','$nom','$commentaire','$date')";
Cette variable $date utilise la fonction date()
http://www.php.net/manual/fr/function.date.php
Elle est automatiquement mise à jour à chaque nouveau message, il n'y a donc pas à l'insérer au formulaire, en revanche, il faut ensuite la traiter comme les autres variables ($pseudo et $message) et l'insérer à la base de données de la même manière.
Si tu lis bien ce qui est dit dans le message du 6 février 2006, il faut déclarer la variable $date = Date("d/m/Y H:i:s");
puis il faut l'insérer à la base de données.
Dans l'exemple du message du 6 février 2006 :
$sql="INSERT INTO table (id,prenom,nom,commentaire,date)VALUES('$id',$'prenom','$nom','$commentaire','$date')";
Cette variable $date utilise la fonction date()
http://www.php.net/manual/fr/function.date.php
Elle est automatiquement mise à jour à chaque nouveau message, il n'y a donc pas à l'insérer au formulaire, en revanche, il faut ensuite la traiter comme les autres variables ($pseudo et $message) et l'insérer à la base de données de la même manière.
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
24 mars 2013 à 09:02
24 mars 2013 à 09:02
Bonjour,
Il me semblait bien que le sujet avait été déjà abordé sur ce forum :
https://forums.commentcamarche.net/forum/affich-2075644-date-heure-php
Ceci devrait répondre à ta question.
Il me semblait bien que le sujet avait été déjà abordé sur ce forum :
https://forums.commentcamarche.net/forum/affich-2075644-date-heure-php
Ceci devrait répondre à ta question.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 09:08
24 mars 2013 à 09:08
Bonjour,
j'ai deja vu, mais ce n'es pas se que je veux, se que je veux, c'est afficher la date et heure a la quelle les messages on était posté.
Je ne suis pas un pros en PHP, je débute ^^
j'ai deja vu, mais ce n'es pas se que je veux, se que je veux, c'est afficher la date et heure a la quelle les messages on était posté.
Je ne suis pas un pros en PHP, je débute ^^
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
24 mars 2013 à 09:20
24 mars 2013 à 09:20
Si tu ajoutes la variable $date en même temps que ta variable $message, il y aura la date et l'heure auxquelles le message a été posté.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 09:21
24 mars 2013 à 09:21
Il n'y as rien a ajouter dans le code de la tchat et la base de donnée ?
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 09:42
24 mars 2013 à 09:42
Peut tu me dire que dois-je mettre comme nouvelle table, et quelle code a mettre ( complet )
Désolé si j'en demande beaucoup, mais je suis vraiment débutant en PHP.
Désolé si j'en demande beaucoup, mais je suis vraiment débutant en PHP.
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
24 mars 2013 à 10:15
24 mars 2013 à 10:15
Il ne faut pas ajouter de nouvelle table, il faut seulement ajouter un champ Date en Type "varchar" dans ta table minichat.
Il faut d'abord déclarer la variable $date dans le fichier minichat_post.php :
$date = Date("d/m/Y H:i:s");
et ensuite l'insérer à ta table :
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minitchat (Pseudo, Messages, Date) VALUES(?, ?)');
$req->execute(array($_POST['Pseudo'], $_POST['Messages'], $_POST['Date']));
Mais ceci est déjà expliqué dans le message du 6 février 2006.
Il faut d'abord déclarer la variable $date dans le fichier minichat_post.php :
$date = Date("d/m/Y H:i:s");
et ensuite l'insérer à ta table :
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minitchat (Pseudo, Messages, Date) VALUES(?, ?)');
$req->execute(array($_POST['Pseudo'], $_POST['Messages'], $_POST['Date']));
Mais ceci est déjà expliqué dans le message du 6 février 2006.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 10:29
24 mars 2013 à 10:29
Ok, par contre je n'arrive pas a trouver comment ajouter un nouveau champs :P
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
Modifié par dugenou le 24/03/2013 à 10:35
Modifié par dugenou le 24/03/2013 à 10:35
Il faut utiliser PhpMyAdmin
https://openclassrooms.com/fr/courses
https://openclassrooms.com/fr/courses
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 10:33
24 mars 2013 à 10:33
Je sais, mais je ne sais pas ou se trouve l'option qui permet d'en ajouter une.
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
24 mars 2013 à 10:42
24 mars 2013 à 10:42
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 10:58
24 mars 2013 à 10:58
Merci, je viens de tester, mais plus rien ne fonctionne dans ma tchat, voici les nouveau codes :
minichat.php :
<?php setcookie('pseudo', time() + 365*24*3600, null, null, false, true); ?>
<!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" lang="fr">
<head>
<title>Mini-chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<style>
form
{
text-align:center;
}
</style>
<form action="minichat_post.php" method="post" >
<p>
<label for="Pseudo">Pseudo</label> : <input type="text" name="Pseudo" id="Pseudo" /><br />
<label for="Messages">Message</label> : <input type="text" name="Messages" id="Messages" /><br />
<input id="envoyer" type="submit" value="Envoyer" />
</p>
</form>
<div id="tchatbox">
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=NOM_BASE_DE_DONNE', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT Pseudo, Messages FROM minitchat ORDER BY ID DESC LIMIT 0, 100');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><center><strong>' . htmlspecialchars($donnees['Pseudo']) . '</strong> : ' . htmlspecialchars($donnees['Messages']) . '</center></p>';
}
$reponse->closeCursor();
?>
</div>
</body>
</html>
minichat_post.php :
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=NOM_BASE_DE_DONNE', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$date = Date("d/m/Y H:i:s");
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minitchat (Pseudo, Messages, Date) VALUES(?, ?)');
$req->execute(array($_POST['Pseudo'], $_POST['Messages'], $_POST['Date']));
// Redirection du visiteur vers la page du minichat
header('Location:minichat.php');
?>
Quand j'ecrit un message, il ne s'affiche pas.
minichat.php :
<?php setcookie('pseudo', time() + 365*24*3600, null, null, false, true); ?>
<!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" lang="fr">
<head>
<title>Mini-chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<style>
form
{
text-align:center;
}
</style>
<form action="minichat_post.php" method="post" >
<p>
<label for="Pseudo">Pseudo</label> : <input type="text" name="Pseudo" id="Pseudo" /><br />
<label for="Messages">Message</label> : <input type="text" name="Messages" id="Messages" /><br />
<input id="envoyer" type="submit" value="Envoyer" />
</p>
</form>
<div id="tchatbox">
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=NOM_BASE_DE_DONNE', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT Pseudo, Messages FROM minitchat ORDER BY ID DESC LIMIT 0, 100');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><center><strong>' . htmlspecialchars($donnees['Pseudo']) . '</strong> : ' . htmlspecialchars($donnees['Messages']) . '</center></p>';
}
$reponse->closeCursor();
?>
</div>
</body>
</html>
minichat_post.php :
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=NOM_BASE_DE_DONNE', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$date = Date("d/m/Y H:i:s");
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minitchat (Pseudo, Messages, Date) VALUES(?, ?)');
$req->execute(array($_POST['Pseudo'], $_POST['Messages'], $_POST['Date']));
// Redirection du visiteur vers la page du minichat
header('Location:minichat.php');
?>
Quand j'ecrit un message, il ne s'affiche pas.
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
Modifié par dugenou le 24/03/2013 à 11:10
Modifié par dugenou le 24/03/2013 à 11:10
Est-ce que tu as créé ton nouveau champ date ?
Si oui, il y a peut-être une erreur lors de l'insertion de la valeur date.
J'ai fait un copié/collé de ton code, mais je ne suis pas certain que la syntaxe soit bonne :
$req->execute(array($_POST['Pseudo'], $_POST['Messages'], $_POST['Date']));
En fait, j'aurais plutôt déclaré tes variables $Pseudo et $Messages en début de fichier :
empty($_POST['Pseudo']) ? $Pseudo = '' : $Pseudo = $_POST['Pseudo'];
empty($_POST['Messages']) ? $Messages = '' : $Messages = $_POST['Messages'];
$date = Date("d/m/Y H:i:s");
Puis, inséré les variables de cette manière :
/ Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minitchat (Pseudo, Messages, date) VALUES(?, ?)');
$req->execute(array('$Pseudo','$Messages','$date'));
Mais je ne t'assure pas que c'est la bonne méthode, il y a longtemps que je n'ai pas pratiqué PhpMySql.
Par ailleurs, je n'aime pas beaucoup les majuscules pour les noms de variables, c'est source d'erreur.
Si oui, il y a peut-être une erreur lors de l'insertion de la valeur date.
J'ai fait un copié/collé de ton code, mais je ne suis pas certain que la syntaxe soit bonne :
$req->execute(array($_POST['Pseudo'], $_POST['Messages'], $_POST['Date']));
En fait, j'aurais plutôt déclaré tes variables $Pseudo et $Messages en début de fichier :
empty($_POST['Pseudo']) ? $Pseudo = '' : $Pseudo = $_POST['Pseudo'];
empty($_POST['Messages']) ? $Messages = '' : $Messages = $_POST['Messages'];
$date = Date("d/m/Y H:i:s");
Puis, inséré les variables de cette manière :
/ Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minitchat (Pseudo, Messages, date) VALUES(?, ?)');
$req->execute(array('$Pseudo','$Messages','$date'));
Mais je ne t'assure pas que c'est la bonne méthode, il y a longtemps que je n'ai pas pratiqué PhpMySql.
Par ailleurs, je n'aime pas beaucoup les majuscules pour les noms de variables, c'est source d'erreur.
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
24 mars 2013 à 11:13
24 mars 2013 à 11:13
Je dois m'absenter, je ne serais de retour qu'en fin d'après-midi, mais tu as tous les éléments pour y arriver.
Visite les différents sites sur ce sujet.
Visite les différents sites sur ce sujet.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 11:15
24 mars 2013 à 11:15
Ok, je vais essayer.
Merci pour tout ça déjà :)
Merci pour tout ça déjà :)
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 12:53
24 mars 2013 à 12:53
ça ne fonctionne pas ....
En fait, le problème viens du fichier minichat_post.php car le fichier minichat.php fonctionne parfaitement pour récupérer se qui se trouve dans le champ "Date".
En fait, le problème viens du fichier minichat_post.php car le fichier minichat.php fonctionne parfaitement pour récupérer se qui se trouve dans le champ "Date".
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
24 mars 2013 à 19:33
24 mars 2013 à 19:33
Il faut aussi extraire les données du champ date pour que la date s'affiche :
$reponse = $bdd->query('SELECT Pseudo, Messages,date FROM minitchat ORDER BY ID DESC LIMIT 0, 100');
$reponse = $bdd->query('SELECT Pseudo, Messages,date FROM minitchat ORDER BY ID DESC LIMIT 0, 100');
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 19:36
24 mars 2013 à 19:36
C'est fais, mais ça ne fonctionne pas ...
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
24 mars 2013 à 19:43
24 mars 2013 à 19:43
Est-ce que tu as bien retiré les majuscules aux noms des variables dans tous les fichiers et aux noms des champs dans ta base de données pour éviter les risques d'erreur lors des requêtes ?
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 19:54
24 mars 2013 à 19:54
Non, voici les fichiers modifié:
minichat.php :
et minichat_post.php :
minichat.php :
<?php setcookie('pseudo', time() + 365*24*3600, null, null, false, true); ?> <!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" lang="fr"> <head> <title>Mini-chat</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <style> form { text-align:center; } </style> <form action="minichat_post.php" method="post"> <p> <label for="Pseudo">Pseudo</label> : <input type="text" name="Pseudo" id="Pseudo" /><br /> <label for="Messages">Message</label> : <input type="text" name="Messages" id="Messages" /><br /> <input id="envoyer" type="submit" value="Envoyer" /> </p> </form> <div id="tchatbox"> <?php // Connexion à la base de données try { $bdd = new PDO('mysql:host=localhost;dbname=NOM_BASE_DE_DONNE', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } // Récupération des 10 derniers messages $reponse = $bdd->query('SELECT Pseudo, Messages, Date, Heur FROM minitchat 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><center><strong>' . htmlspecialchars($donnees['Pseudo']) . ' le ' . htmlspecialchars($donnees['Date']) . ' à</br> ' . htmlspecialchars($donnees['Heur']) . '</strong> : </br>' . htmlspecialchars($donnees['Messages']) . '</center></p>'; } $reponse->closeCursor(); ?> </div> </body> </html>
et minichat_post.php :
<?php $date = Date("d/m/Y H:i:s"); // Connexion à la base de données try { $bdd = new PDO('mysql:host=localhost;dbname=luc_mergault', '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 minitchat (Pseudo, Messages, Date) VALUES(?, ?)'); $req->execute(array($_POST['Pseudo'], $_POST['Messages'], $_POST['Date'])); // Redirection du visiteur vers la page du minichat header('Location:minichat.php'); ?>
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
24 mars 2013 à 20:04
24 mars 2013 à 20:04
Il ne faut pas mettre Heur :
$reponse = $bdd->query('SELECT Pseudo, Messages, Date, Heur FROM minitchat ORDER BY ID DESC LIMIT 0, 10');
Il y a déjà l'heure dans la variable $date avec la fonction : Date("d/m/Y H:i:s");
Si tu mets une majuscule à la variable date dans tes requêtes, il faut la mettre partout. Il faut alors la déclarer de cette manière : $Date = Date("d/m/Y H:i:s");
$reponse = $bdd->query('SELECT Pseudo, Messages, Date, Heur FROM minitchat ORDER BY ID DESC LIMIT 0, 10');
Il y a déjà l'heure dans la variable $date avec la fonction : Date("d/m/Y H:i:s");
Si tu mets une majuscule à la variable date dans tes requêtes, il faut la mettre partout. Il faut alors la déclarer de cette manière : $Date = Date("d/m/Y H:i:s");
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
24 mars 2013 à 20:40
24 mars 2013 à 20:40
J'ai mis "heur" car j'ai ajouter un autre champs.