Page 1 sur 1

insertion heure

Posté : 20 déc. 2011, 23:00
par bostak
Bonsoir,

J'ai un petit soucis (comme souvent) avec l'insertion de l'heure dans ma BDD; je vous montre tout sa.

J'ai une fonction comme sa :

Code : Tout sélectionner

function editBillet() { mysql_query("UPDATE billets SET title = '".$_POST['title']."', content = '".$_POST['content']."', updated = '".$updated."' WHERE idbillets=".$_GET['id'].""); } ?>
et cela :

Code : Tout sélectionner

{ include("pages/editBillet.php"); $updated=date('Y-m-d H:i:s'); editBillet($_POST['title'], $_POST['content'], $updated); header('Location: index.php'); }
Cela m'édite bien mon "title" et mon "content" mais il ne se passe rien au niveau de la date et l'heure. Pourtant j'ai repris le même principe pour enregistrer la date et l'heure quand je poste un billet et cela fonctionne.
Pourriez vous m'éclaircir ?

Cordialement,

Re: insertion heure

Posté : 20 déc. 2011, 23:55
par Aureusms
Que donne ?
<?php
function editBillet()
{
  echo var_dump ($updated);
   mysql_query("UPDATE billets SET title = '".$_POST['title']."', content = '".$_POST['content']."', updated = '".$updated."' WHERE idbillets=".$_GET['id']."");
}
?>
Un conseil : protège un peu tes insertions sinon gare aux inclusions sql... (pour cela regarde vers mysql_escape_string)

Re: insertion heure

Posté : 21 déc. 2011, 00:21
par bostak
oui je sais va falloir que je protège tout sa .

sinon sa me donne 00:00:00

Re: insertion heure

Posté : 21 déc. 2011, 00:30
par Aureusms
Pas trouvé ? Bon je t'aide encore... Les fonctions ne reprennent les valeurs des variables que si elles sont globales... A mon avis $updated n'est pas globale. Mais $_POST est toujours globale ainsi que $_GET
Ca devrait marcher maintenant
<?php
function editBillet($title,$content,$updated,$id)
{
  echo var_dump ($updated);
   mysql_query("UPDATE billets SET title = '".mysql_escape_string($title)."', content = '"..mysql_escape_string($content)."', updated = '"..mysql_escape_string($updated)."' WHERE idbillets=".mysql_escape_string($id)."");
}
?>

 {
         include("pages/editBillet.php");
         $updated=date('Y-m-d H:i:s');
         editBillet($_POST['title'], $_POST['content'], $updated,$_GET['id']);
         header('Location: index.php');
      }



Re: insertion heure

Posté : 21 déc. 2011, 00:55
par bostak
j'ai suivis à la lettre ce que tu as mis mais toujours rien, j'ai toujours : 0000-00-00 00:00:00

Re: insertion heure

Posté : 21 déc. 2011, 12:10
par Mazarini
Piste la valeur de $updated.

Généralement, on utilise la date de la bd pour mettre à jour la date de modification.

genre : updated = date() ou updated=time() (ou une autre fonction sql de date)

Re: insertion heure

Posté : 21 déc. 2011, 22:56
par bostak
mais c'est ce que je fais

Code : Tout sélectionner

$updated=date('Y-m-d H:i:s');
je ne comprend vraiment pas

Re: insertion heure

Posté : 22 déc. 2011, 00:09
par Aureusms
Hmmmm #-o pas de Timestamp ?
Essaye cela :

Page fonction editBillet.php
<?php
function editBillet($title,$content,$updated,$id)
{
  echo var_dump ($updated);
   mysql_query("UPDATE billets SET title = '".mysql_escape_string($title)."', content = '"..mysql_escape_string($content)."', updated = '"..mysql_escape_string($updated)."' WHERE idbillets=".mysql_escape_string($id)."");
}
?>
l'autre page
include("pages/editBillet.php");
date_default_timezone_set('Europe/Paris');
$maintenant = strtotime("now");

$updated=date('Y-m-d H:i:s',$maintenant);
editBillet($_POST['title'], $_POST['content'], $updated,$_GET['id']);
header('Location: index.php');
il faut bien sûr que le formulaire soit posté

Re: insertion heure

Posté : 22 déc. 2011, 02:00
par bostak
Merveilleux cela fonctionne, merci beaucoup de votre aide.

Cordialement,