8792 sujets

Développement web côté serveur, CMS

Bonjour,

Je voudrais récupérer la date à laquelle un formulaire a été envoyé et le stocker dans ma BDD.

J'ai donc essayé avec un hidden:


<input type="hidden" name="date" value="<?php $date = date("d-m-Y");?>" />


en l'incluant aussi dans mon INSERT

$sql = "INSERT INTO pdv (date, nom, prenom, email, ville, cp, mariage, contenu, newsletter) 
VALUES ('".$_REQUEST ['date']."', '".$_REQUEST ['nom']."', '".$_REQUEST ['prenom']."', '".$_REQUEST ['email']."', '".$_REQUEST ['ville']."', '".$_REQUEST ['cp']."', '".$_REQUEST ['date_mariage']."', '".$_REQUEST ['contenu']."', '".$_REQUEST ['newsletter']."')";


Mais la date stockée dans la BDD reste 0000-00-00

Pour info, dans ma bdd, j'ai un champ "date" en mettant un type "date" + NOT NULL => donc la date sera formatée en 0000-00-00

Merci pour votre aide
Modifié par pp51 (27 Mar 2007 - 22:51)
Bonjour,
Le format date dans phpmyadmin est automatiquement et invariablement yyyy-mm-dd
Tu peux jouer sur la présentation uniquement en sortie en demandant de lafficher dans le sens que tu veux
Si tu veux changer lenregistrement tu met un champ varchar dans php my admin pour enregistrer tout type de caractère en envoyant depuis ton formulaire le jour le mois l'année séparemment.
Salut,

Pourquoi utiliser un champ hidden ? Ca implique que l'utilisateur peut l'altérer. Il serait plus logique de récupérer la date au moment où tu l'enregistres, non ? Ca te permettrait en plus d'utiliser directement NOW().
Bonjour et merci pour les pistes Smiley cligne

Julien, je pensais que c'était le "hidden" était seul moyen de récupérer une valeur.

Peux-tu m'en dire un peu plus sur le NOW() ? Comment l'utiliser ?

Merci encore Smiley cligne
Salut,

tu peux indiquer la valeur NOW dans la requête SQL au lieu d'une date YYYY-MM-DD, et la date courante sera automatiquement stockée dans la table :
"INSERT INTO maTable VALUES('','titre','texte',NOW())"
A essayer avec et sans quotes, je ne sais plus exactement comment ça fonctionne ...
Bonjour Smiley cligne

Question avant implémentation:

Si j'ai bien compris je mets ça:


$sql = "INSERT INTO pdv (date, nom, prenom, email, ville, cp, mariage, contenu, newsletter) 


=> dois-je conserver "date" ou la remplacer par "NOW" ?


VALUES ('".$_REQUEST ['nom']."', '".$_REQUEST ['prenom']."', '".$_REQUEST ['email']."', '".$_REQUEST ['ville']."', '".$_REQUEST ['cp']."', '".$_REQUEST ['date_mariage']."', '".$_REQUEST ['contenu']."', '".$_REQUEST ['newsletter']."', NOW())";


et ensuite dans ma colonne "Date" sur phpmyadmin je mets la valeur NOW.
Mais quel format dois-je choisir: date, INT, etc ?

Merci Smiley lol
Voici la solution Smiley lol


mysql_select_db ("test");
$sql = "INSERT INTO pdv (datedemande, nom, prenom, email, ville, cp, mariage, contenu, newsletter)VALUES (NOW(), '".$_REQUEST ['nom']."', '".$_REQUEST ['prenom']."', '".$_REQUEST ['email']."', '".$_REQUEST ['ville']."', '".$_REQUEST ['cp']."', '".$_REQUEST ['date_mariage']."', '".$_REQUEST ['contenu']."', '".$_REQUEST ['newsletter']."')";


+ dans phpmyadmin nouveau champ "datedemande" avec type "DateTime"

Et ça marche Smiley cligne

Merci pour le tuyau Smiley biggol