Tom's Guide > Forum > Programmation > [RESOLU] Date dans livre d'or

[RESOLU] Date dans livre d'or

Forum Programmation : [RESOLU] Date dans livre d'or

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour
j'ai créé un livre d'or sur mon site, mais j'arrive pas inserer la date automatiquement quand quelqu'un poste un message dessus.
comment je dois faire?
merci!

Code :
  1. <?php
  2. mysql_connect("localhost", "*****", "*****" );
  3. mysql_select_db("livreor" );
  4. if (isset($_POST['pseudo']) AND isset($_POST['message']))
  5. {
  6.  
  7.     $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);
  8.      
  9.     $message = htmlentities($_POST['message'], ENT_QUOTES);
  10.     $message = nl2br($message);
  11.  
  12.     mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')" );
  13.         mysql_close();
  14.         echo' <script language="javascript"
  15. type="text/javascript">
  16. <!--
  17. window.location.replace(
  18. "http://middleworld.free.fr/livreor.php" );
  19. -->
  20. </script>';
  21.     }
  22. ?>
  23. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  24. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  25.   <head>
  26.       <title>Livre d'or</title>
  27.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  28.         <link rel="stylesheet" media="screen" type="text/css" title="Mon design" href="css_livreor.css" />
  29.         <link rel="shortcut icon" type="image/x-icon" href="icone.png" />
  30.         <style type="text/css">
  31.         form, .pages
  32.         {
  33.             text-align:left;
  34.         }
  35.         </style>
  36.     </head>
  37.  
  38.     <body>
  39. <?php include("menu.php" ); ?>
  40.     <form method="post" action="livreor.php">
  41.     <p>Vous aussi, signez ce magnifique livre d'or, et laissez à jamais votre trace sur ce site^^.</p>
  42.  
  43.     <p>
  44.         Pseudo :<br /> <input name="pseudo" /><br />
  45.         Message :<br />
  46.         <textarea name="message" rows="8" cols="35"></textarea> <br />
  47.         <input type="submit" value="Envoyer" />
  48.     </p>
  49.     </form>
  50. <p class="pages">
  51. <?php
  52. $nombreDeMessagesParPage = 20;
  53. $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
  54. $donnees = mysql_fetch_array($retour);
  55. $totalDesMessages = $donnees['nb_messages'];
  56. $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
  57. echo 'Page : ';
  58. for ($i = 1 ; $i <= $nombreDePages ; $i++)
  59. {
  60.     echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
  61. }
  62. ?>
  63. </p>
  64. <?php
  65. if (isset($_GET['page']))
  66. {
  67.     $page = $_GET['page'];
  68. }
  69. else
  70. {
  71.     $page = 1;
  72. }
  73. $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
  74. $reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
  75. while ($donnees = mysql_fetch_array($reponse))
  76. {
  77.     echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
  78. }
  79. mysql_close();
  80. ?>
  81. </body>
  82. </html>


Message édité par Loni le 14-12-2006 à 15:22:08
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Il faut rajouter un champ de type DATETIME et insérer dedans date("Y-m-d H:i:s" ).
Voici ta nouvelle requète (en partant du principe que ton champ d'horodatage est le dernier):

Code :
  1. mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '" . date("Y-m-d H:i:s" ) . "')" );

------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn

Merci... j'ai essayé... mais vu que je ne sais pas ou l'ajouter, quand je l'ajoute sa marche pas ^^

Citation :

Il faut rajouter un champ de type DATETIME


où?

Citation :

insérer dedans date("Y-m-d H:i:s" )


où? ^^

Merci encore

Répondre à Loni

tu le rajoutes dans ta table avec phpMyAdmin ou en sql:
si c'est automatique tu peux lui mettre une valeur par defaut (sous mysql je suis pas sur de la syntaxe)

Code :
  1. alter table livreor add column creation_date datetime default now();


sans le default, tu rajoute l'instruction que t'as donne crazycat

Répondre à coca25

j'ai essayé, mais j'ai eu une erreur...

Code :
  1. requête SQL:
  2. ALTER TABLE livreor ADD COLUMN creation_date datetime defaultnow( )
  3. MySQL a répondu:Documentation
  4. #1067 - Invalid default value for 'creation_date'

Répondre à Loni

effectivement je viens de lire que datetime n'accepte pas now() comme valeur, tu peux le changer en timestamp ou alors carrement enlever la valeur par defaut.

1-

Code :
  1. alter table livreor add column creation_date datetime;


Code :
  1. mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '" . date("Y-m-d H:i:s" ) . "')" );



2-

Code :
  1. alter table livreor add column creation_date timestamp default now();


par contre avec le default now(), tu dois spécifier les colonnes à insérer:
insert into livreor (col1,col2...) values (valcol1, valcol2...);
sans spécifier la valeur de creation_date, elle se met à la date/heure courante automatiquement.

EDIT: je crois que la difference entre le datetime et le timestamp et l'interval de validité des dates insérés


Message édité par coca25 le 13-12-2006 à 20:46:35
Répondre à coca25

ok, j'essaye ce que tu m'a donné et je te tiens au courant!
Merci !

Répondre à Loni

Voila, j'obtiens une chose correcte dans ma BDD... donc merci a vous deux!
par contre; pour appeller la date, et l'écrire sur ma page; il apres le pseudo; il faut que je rajoute quoi ci dessous??

Code :
  1. while ($donnees = mysql_fetch_array($reponse))
  2. {
  3.     echo '<p><strong>' . $donnees['pseudo'] . '</strong>','</p>';
  4. }


merci!

Répondre à Loni

faut un peu de logique sinon on avance pas, pseudo, c'est bien une colonne de ta table, tu récupères la date de la même façon!!

apres je fais de la pub au site de crazycat, j'ai la flemme d'ecrire:
http://www.crazycat.info/astuce22- [...] dates.html

Répondre à coca25

ouah l'autre! je vais avertir les modos :)

------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn

Réussi! Merci a vous deux!

Répondre à Loni
Tom's Guide > Forum > Programmation > [RESOLU] Date dans livre d'or
Aller à :

Il y a 2523 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens