Problème avec Timestamp

dm21 -  
 dm22 -
Bonjour,

J'ai insérer un système de news sur mon site, et j'essaye de mettre la date et l'heure de création de news. Sauf que quand je rajoute un news la date affiché est de 31/12/1969 à 19h00. Comment pourrai-je corriger ce problème?

Je vous met mon code:
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>


Merci par avance pour votre aide...
A voir également:

5 réponses

Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
salut,
moi je sais que sur wampserver je regle ca avec la table Mysql:
http://www.craym.eu/tutoriels/mysql/php_my_admin.html


je sais si tu utilise du Mysql comme base de données mais bon...
0
dm21
 
Salut,
J'ai pas très bien compris ce que tu veux dire, mais ca ne règle pas mon problème...
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
tu les sauvegarde dans quoi t'es données ??
0
dm21
 
Je les sauvegarde dans mon base de données (mysql). J'ai un champ timestamp de type bigint (20)
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
ok
le truc c'est que si tu veux sauvegarder la date aujourd'hui il faut que ton tableau(table) est c'est option
colonne|type|taille/valeur|default|interclassement|atributs|null|index|AI|commentaires
Date_de_creation|TIMESTAMP|X|CURRENT_TIMESTAMP|X|on update CURRENT_TIMESTAMP|X|X|X|X

'd'ou la page que je t'es envoyé (la 2eme image)
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
est en faite a partir de ca tu a plus besoin de te casser ca te donnera la date et heure du server
0
dm21
 
Je t'envoie mon code entière index.html
    <h3>
  
        <?php echo $donnees['titre'].', '.$donnees['categorie']; ?>
  
<em>le <?php echo date('d/m/Y à H\hi', $donnees['date_creation']); ?></em>
    </h3>
  
       
  
     <p>
  
     <?php
  
     $introduction = nl2br(stripslashes($donnees['introduction']));
  
     echo $introduction;
  
     ?>
  
     </p>
  
</div>
  
<?php
  
} // Fin de la boucle des news.
  
?>


et la partie date de mon fichier liste_news:

<td><?php echo date('d/m/Y à H\hi', $donnees['date_creation']); ?></td>


dans mon bdd j'ai mis:
date_creation/timestamp/current_timestamp/on update current_timestamp

C'est bien ca?
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
c'est bien ca
dans ta base de donnees la date_creation veut combien ? (date du post ou 000000...)
ton format date est pas bon si tu veux appeler c'est comme ca:
Citation« DATETIME » stocke une date au format « YYYY-MM-DD HH:MM:SS »
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
<em>le <?php echo date('d/m/Y à H\hi', $donnees['date_creation']); ?></em>

essaye comme ca
<em>le <?php echo $donnees['date_creation']; ?></em>
0
dm21
 
"essaye comme ca
<em>le <?php echo $donnees['date_creation']; ?></em>"

Je viens d'essayer et cette fois il met 0000-00-00 00:00:00

"dans ta base de donnees la date_creation veut combien ? (date du post ou 000000...)"
Dans mon bdd c'est écris en format 00000000

Je suis vraiment bloqué la...
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
voila je t'es fait un petit exemple pour te montrer
https://www.cjoint.com/?3Cdc6c03Hkn

telecharge wampserver si c'est pas deja fait est fusionne les fichiers avec wamp

bbd et php joint

si tu veux afficher la date et heure c'est comme ca
<?php echo 'nous sommes le <H1>'.$day.'/'.$month.'/'.$year.'</H1> et il est <H1>'.$heure.':'.$min.'</H1>'; ?>

0
dm21
 
J'ai pas très bien compris pour les fichiers que t'a envoyé. j'ai essayé avec le code que tu m'as envoyé mais ca ne marche pas, voila ce que ca fais:
nous sommes le
//

et il est
:
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
j'ai creer de page exemple pour ton probleme
0
dm21
 
Désolé mais ca m'aide pas trop...

le fichier sauvegarde c'est pourquoi? il n'a parle pas de la date
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
je t'ai fait une petite video et a partir de la dit moi ce que tu comprend pas
https://www.youtube.com/watch?v=Hx9kz6svY7E

on va y arriver :)
0
Pitet
 
Salut,

Si dans ta base de données ton champs date a pour valeur 0000-00-00 00:00:00 c'est qu'il y a un problème à l'enregistrement de ta news.

Vérifie la façon dont tu enregistres tes news.

Bon courage.
0
dm21
 
salut,

justement, j'ai fais différents manipulations pour voir d'ou peut venir le problème, mais rien ne change....
0
Pitet
 
Tu peux nous montrer le code de ton enregistrement en base de données ?
0
dm21
 
J'envoie le code:
<?php
mysql_connect("", "", "");
mysql_select_db("");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
    $titre = addslashes($_POST['titre']);
	$introduction = addslashes($_POST['introduction']);
    $contenu = addslashes($_POST['contenu']);
	$categorie = addslashes($_POST['categorie']);
    // On vérifie si c'est une modification de news ou non.
    if ($_POST['id_news'] == 0)
    {
        // Ce n'est pas une modification, on crée une nouvelle entrée dans la table.
     mysql_query("INSERT INTO news (titre, introduction, contenu, categorie, date_creation) VALUES("$titre", "$introduction", "$contenu",  "$categorie"; NOW())") or die(mysql_error());
	
	 }
    else
    {
        // On protège la variable "id_news" pour éviter une faille SQL.
        $_POST['id_news'] = addslashes($_POST['id_news']);
        // C'est une modification, on met juste à jour le titre et le contenu.
        mysql_query("UPDATE news SET titre='" . $titre . "', introduction='" .$introduction . "', contenu='" . $contenu . "', categorie='" . $categorie . "' WHERE id='" . $_POST['id_news'] . "'") or die(mysql_error());
    }
}
  
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si l'on demande de supprimer une news.
{
    // Alors on supprime la news correspondante.
    // On protège la variable « id_news » pour éviter une faille SQL.
    $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
    mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'') or die(mysql_error());
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Date</th>
<th>Categorie</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC') or die(mysql_error());
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news.
{
?>
<tr>
<td><?php echo '<a href="rediger_news.html?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.html?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y à H\hi', $donnees['date_creation']); ?></td>
<td><?php echo stripslashes($donnees['categorie']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news.
?>
</table>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dm21
 
J'ai fais plusieurs modifications, mais il m'affiche plusieurs erreurs:
sur ma page d'accueil, il m'affiche:

Array ( [0] => 3 [id] => 3 [1] => Bienvenue sur le site cine-seriestv.tk! [titre] => Bienvenue sur le site cine-seriestv.tk! [2] => Tests [introduction] => Tests [3] => contenu [contenu] => contenu [4] => 0000-00-00 00:00:00 [date_creation] => 0000-00-00 00:00:00 [5] => site [categorie] => site )

En ce qui concerne la date, il m'affiche 30/Nov/-0001 00:00:00

Et dans la page admin, lorsque je veux rajouter une news, il m'affiche cette erreur:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''', NOW())' at line 1

Je n'arrive pas du tout trouver d'ou peut venir le problème, vous pouvez m'aider?

Je vous transmet mes codes: index.html:
<?php
mysql_connect("", "", "");
mysql_select_db("");
// On récupère les cinq dernières news.
$retour = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0, 10") or die(mysql_error());
while ($donnees = mysql_fetch_array($retour))
  
{
  print_r($donnees);
  $date = new DateTime($donnees['date_creation']);
?>
  
<div class="news">
  
    <h3>
      
        <?php echo $donnees['titre'].', '.$donnees['categorie']; ?>
		<?php     echo $date->format('d/M/Y H:i:s'); ?>
 


    </h3>
  
       
  
     <p>
  
     <?php
  
     $introduction = nl2br(stripslashes($donnees['introduction']));
  
     echo $introduction;
  
     ?>
  
     </p>
  
</div>
  
<?php
  
} // Fin de la boucle des news.
  
?>


liste_news.html:
<?php
mysql_connect("", "", "");
mysql_select_db("");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
    $titre = addslashes($_POST['titre']);
	$introduction = addslashes($_POST['introduction']);
    $contenu = addslashes($_POST['contenu']);
	$categorie = addslashes($_POST['categorie']);
    // On vérifie si c'est une modification de news ou non.
    if ($_POST['id_news'] == 0)
    {
        // Ce n'est pas une modification, on crée une nouvelle entrée dans la table.
     mysql_query("INSERT INTO news(titre, introduction, contenu, categorie, date_creation) VALUES('$titre', '$introduction', '$contenu',  '$categorie', NOW())") or die(mysql_error());
	
	 }
    else
    {
        // On protège la variable "id_news" pour éviter une faille SQL.
        $_POST['id_news'] = addslashes($_POST['id_news']);
        // C'est une modification, on met juste à jour le titre et le contenu.
        mysql_query("UPDATE news SET titre='" . $titre . "', introduction='" .$introduction . "', contenu='" . $contenu . "', categorie='" . $categorie . "' WHERE id='" . $_POST['id_news'] . "'") or die(mysql_error());
    }
}
  
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si l'on demande de supprimer une news.
{
    // Alors on supprime la news correspondante.
    // On protège la variable « id_news » pour éviter une faille SQL.
    $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
    mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'') or die(mysql_error());
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Date</th>
<th>Categorie</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC') or die(mysql_error());
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news.
{
?>
<tr>
<td><?php echo '<a href="rediger_news.html?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.html?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y à H\hi', $donnees['date_creation']); ?></td>
<td><?php echo stripslashes($donnees['categorie']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news.
?>
</table>


Rediger_news.html:
<?php
mysql_connect("", "", "");
mysql_select_db("");

if (isset($_GET['modifier_news'])) // Si on demande de modifier une news.
{
    // On protège la variable « modifier_news » pour éviter une faille SQL.
    $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
    // On récupère les informations de la news correspondante.
    $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'') or die(mysql_error());
    $donnees = mysql_fetch_array($retour);
     
    // On place le titre, l'introduction et le contenu dans des variables simples.
    $titre = stripslashes($donnees['titre']);
	$introduction = stripslashes ($donnees['introduction']);
    $contenu = stripslashes($donnees['contenu']);
	$categorie = stripslashes($donnees['categorie']);
    $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification.
}
else // C'est qu'on rédige une nouvelle news.
{
    // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news.
    $titre = '';
	$introduction = '';
    $contenu = '';
	$categorie = '';
    $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification.
}
?>
<form action="liste_news.html" method="post">
<p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>

<p>
 Introduction :<br />
    <textarea name="introduction" cols="50" rows="10">
    <?php echo $introduction; ?>
    </textarea><br />
    Contenu :<br />
    <textarea name="contenu" cols="50" rows="10">
    <?php echo $contenu; ?>
    </textarea><br />
	Categorie : <input type="text" size="30" name="categorie" value="<?php echo $categorie; ?>" />
	
     
    <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
    <input type="submit" value="Envoyer" />
</p>
</form>


Je suis vraiment bloqué... Quelqu'un pourrait m'aider à trouver l'erreur?

merci par avance,
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
Pour ton code je suis long etre un expert alors je laisse la correction a un pro.
En attendant je te laisse un autre exemple bien expliqué qui utilise ta table Mysql :
Table news :
id, titre, introduction, contenu, categorie, date_creation
https://www.cjoint.com/?0CkmmFfOaTt
0
dm21
 
Ok je vais regarder les exemples, merci quand même...
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
alors...tu t'en sors ?
0
dm22
 
oui c'est bon j'ai réussi, merci
0