Se connecter avec
S'enregistrer | Connectez-vous

insertion date et heure base sql php

Dernière réponse : dans Programmation

Bonjour;
Voila mon souci, je suis en train de réaliser des formulaire pour un site...
Sur un formulaire, celui ou on peut ajouter des news, je voudrais que à l'envoie du formulaire le site envoie automatiquement la date et l'heure de l'ordinateur à la base de donnée pour que celle-ci l'affiche sur la pages de news. Je pense que cela n'est pas d'un grand compliqué, mais je suis un nouveau en php/sql. Merci pour vos réponses.
Lassé par la pub ? Créez un compte

Re,
Mon problème est que je suis débutant et que je vois même pas ou insérer ton code, voila le mien qui envoie deja à la base des information:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO news (ID, `Date`, Heure, Titre, Titre2, auteur, Corps, Image) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['ID'], "int"),
GetSQLValueString($_POST['Date'], "date"),
GetSQLValueString($_POST['Heure'], "date"),
GetSQLValueString($_POST['Titre'], "text"),
GetSQLValueString($_POST['Titre'], "text"),
GetSQLValueString($_POST['auteur'], "text"),
GetSQLValueString($_POST['Corps'], "text"),
GetSQLValueString($_POST['Image'], "text"));
Merci

En fait en php, vous avez un code du genre

  1. <?php
  2.  
  3. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1" )) {
  4.  
  5. // Ici on met la date dans une variable
  6. $date = date();
  7.  
  8. // Ici, on insère la donnée de date grâce à la variable crée
  9. $insertSQL = sprintf("INSERT INTO news (ID, `Date`, Heure, Titre, Titre2, auteur, Corps, Image) VALUES (%s, '$date', %s, %s, %s, %s, %s, %s)",
  10.  
  11. ?>
Expert Programmation

C'est un peu n'importe quoi cette portion de code ... c'est infâme. Il faudra me dire l'intéret d'utiliser la fonction sprintf ... Aucun

Le code à utiliser est on ne peut plus simple :

$sql = "INSERT INTO news (Date, Heure, Titre, Titre2, auteur, Corps, Image) VALUES (CURDATE(),CURTIME(),'$titre','$titre2','$auteur','$corps','$image')";

mysql_query($sql) or die ("Erreur SQL !');

J'ai supprimé ID car tu dois avoir mis un AUTO_INCREMENT sur ta table lors de la création si tu as fait ça proprement.

Quel sont les type des champs date et heure ? pour être sur que mon code marche :) 


Sécurité

Pour être sur de la sécurité et ne pas faire planter ton code il faut que tu passe un coup de la fonction mysql_escape_string(). Sinon tu vas avoir des erreurs SQL avec les apostrophes ou pire des injections de code (genre injection de DROP TABLE news) et ça peut faire mal aux fesses.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde