J'ai un soucis avec l'affichage de mes dates . Voila mon code :avec :Code:echo 'Poste le : '.$contenu[Date].'<br>';
. Sachant que $date est enregistré dans ma base de donnée avec comme nom de liste Date.Code:$date = date("d-m-Y");
Version imprimable
J'ai un soucis avec l'affichage de mes dates . Voila mon code :avec :Code:echo 'Poste le : '.$contenu[Date].'<br>';
. Sachant que $date est enregistré dans ma base de donnée avec comme nom de liste Date.Code:$date = date("d-m-Y");
Bonsoir,
Déjà, c'est mieux ceci :
Bonne soirée.Code:
1
2
3 <?php echo 'Poste le : '.$contenu['Date'].'<br>'; ?>
Meme en mettant ceci ça ne marche pas. Voila tout mes code de commentaires.php:Voila livre dOr.htmlCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?php $date = date("Y-m-d"); $nom=mysql_escape_string($_REQUEST['nom']); $email=mysql_escape_string($_REQUEST['email']); $com=mysql_escape_string($_REQUEST['commentaire']); if( empty($nom) || empty($com)) { header("Location: Livre dOr.html"); } else { mysql_query("INSERT INTO livre(Date, Nom, Email, Commentaire) VALUES('$date','$nom','$email','$com')",$connexion) or die (mysql_error()); echo "Votre message a bien ete poste. Vous serez redirige dans 3 seconde!"; echo "<script language=\"javascript\">setTimeout(\"location.href='Livre dOr suite.php'\", 3000)</script>"; mysql_close($connexion); } ?>
Et pour finir livre dOr suite.phpCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <?php session_start(); if($_SESSION["valid_user"]==1){ ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fr' lang='fr'> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="livredor.css" type="text/css" /> <title>Livre d'Or</title> </head> <body> <h3> Laissez votre opinion ici! </h3> <form action="commentaires.php" method="post"> <br /> <table> <tr> <td><label for="nom">Nom :</label></td> <td><input type="text" class="txt" name="nom" id="nom" value="" /></td> </tr> <tr> <td><label for="email">Email (facultatif):</label></td> <td><input type="text" class="txt" name="email" id="email" value="" /></td> </tr> </table> <p> <label for="commentaire">Commentaire :</label><br /> <textarea class="txt" id="commentaire" name="commentaire" cols="50" rows="10"></textarea> </p> <input type="submit" value="Ajouter" /></p> </form> </body> </html> <?php } else { header ("Location: index.php"); } ?>
Il enregistre bien toutes les données mais lorsque je rentre un commentaire comme date dans SQL il met 0000-00-00 et meme dans la page des commentaires deja mis il met poste le 0000-00-00Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?php session_start(); if($_SESSION["valid_user"]==1){ ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fr' lang='fr'> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="livredor.css" type="text/css" /> <title>Livre d'Or</title> </head> <body> <h3> Laissez votre opinion ici! </h3> <hr /> <?php $result = mysql_query("SELECT Date,Nom,Email,Commentaire FROM livre ORDER BY Date") or die ("erreur requête"); while( $contenu = mysql_fetch_array ($result)) { echo 'Poste le : '.$contenu['Date'].'<br>'; echo 'Auteur : <a href="mailto:'.$contenu[Email].'">'.$contenu['Nom'].'</a><br>'; echo 'Message : '.$contenu['Commentaire'].'<br>'; echo '<hr>'; } mysql_close($connexion); ?> </body> </html> <?php } else { header ("Location: index.php"); } ?>
A quel moment tu a un problème, lors de l'insertion dans la base ou à l'affichage ?
Non l'enregistrement du nom de l'email et du commentaire ce font bien mais la date enregistré n'est pas la bonne et lorsque j'ouvre la page ou tous les commentaires sont mis la date n'est pas bonne car il prend celle de la base de donnée donc...
Tu n'as pas pensé que ça venait peut être du type de donner que tu insères ?
Selon ton code et le résultat que tu montres je dirais que le problème vient tout simplement de ton date("d-m-Y") et je dirais même que tu as un champs date dans ta base données et c'est ce qui casse tout car c'est au format anglais dans la BDD.
Donc solutions :
- utiliser date("Y-m-d") puis à la récupération, le transformer en francais
- le plus simple du monde, utiliser un timestamp :mrgreen:
Je ne connais pas le timestamp. Peut-on m'expliquer?
C'est bon probleme resolu.
Merci
Un timestamp est le temps UNIX. C'est un entier à partir duquel tu peux récupérer n'importe quelle date et même effectuer des calculs.
Pour des exemples d'utilisations : http://php.developpez.com/faq/?page=dates