Intialisation des variables

Résolu
Bonjour,

J'ai suivi un cours sur openclassroom pour enregistrer dans une table mais avec la requête ci-dessous, les données sont nulles:

$nom = "" ;
$url = "";
$dateCreation = "";
$idTypeCms = "";
$dateMiseEnLigne = "";
$dateDerniereModif =" ";

$reponse = $bdd->prepare('INSERT INTO sites (nom, url, dateCreation, idTypeCms, dateMiseEnLigne, dateDerniereModif) VALUES (:nom,:url,:dateCreation,:idTypeCms,:dateMiseEnLigne,:dateDerniereModif)');

$reponse->execute(array(
    ':nom' => $nom,
    ':url' => $url,
    ':dateCreation' => $dateCreation,
    ':idTypeCms' => $idTypeCms,
    ':dateMiseEnLigne' => $dateMiseEnLigne,
    ':dateDerniereModif' => $dateDerniereModif
));
// On ferme la requête avant d'en faire une autre
$reponse->closeCursor();
$reponse = null;



Je vous remercie de votre aide.

4 réponses

  1. merci beaucoup ça marche bien c'était bon format de date qui n'était pas bon
    1. Merci pour ces réponses. Avec l'utilisation des fonctions de date, j'otiens l'erreur:

      Notice: Undefined offset: 2 in C:\wamp\www\tba\fonctions.php on line 5

      <?php
      function datefrus($datefr)
      {
        $date=explode("/",$datefr);
        return $date[2]."-".$date[1]."-".$date[0];
      }
      function dateusfr($dateus)
      {
        $date=explode("-",$dateus);
        return $date[2]."/".$date[1]."/".$date[0];
      }
      ?>
      
      1. De cette façon les données renvoyées sont nulles:

        $nom = ( isset($_POST['nom']) )? $_POST['nom'] : '';
        $url = ( isset($_POST['url']) )? $_POST['url'] : '';
        $dateCreation = ( isset($_POST['dateCreation']) )? $_POST['dateCreation'] : '';
        $idTypeCms = ( isset($_POST['idTypeCms']) )? $_POST['idTypeCms'] : '';
        $dateMiseEnLigne = ( isset($_POST['dateMiseEnLigne']) )? $_POST['dateMiseEnLigne'] : '';
        $dateDerniereModif = ( isset($_POST['dateDerniereModif']) )? $_POST['dateDerniereModif'] : '';
        1. Que voulez-vous dire par "les données renvoyées sont nulles" ?
          Cette requête insère dans une base de données, rien n'est renvoyé
        2. @Thorak83Une entrée dans ma table est bien ajoutée, mais elle est nulle (les valeurs)
        3. pouvez vous faire un print_r($_POST); juste avant $nom = ...
          et afficher le résultat
        4. Voila le problème la variable $_POST ne contient rien.
          Pouvez mettre ici le code du formulaire de saisie ?
      2. Bonjour,

        Ca me parait logique vu ce code en début de programme:

        $nom = "" ;
        $url = "";
        $dateCreation = "";
        $idTypeCms = "";
        $dateMiseEnLigne = "";
        $dateDerniereModif =" ";


        Cordialement
        1. J'ai fais de cette façon, mais j'obtiens l'erreur indefinie index:

          <code>
          $nom = $_POST['nom'];
          $url = $_POST['url'];
          $dateCreation = $_POST['dateCreation'];
          $idTypeCms = $_POST['idTypeCms'];
          $dateMiseEnLigne = $_POST['dateMiseEnLigne'];
          $dateDerniereModif = $_POST['dateDerniereModif'];
          </<code>
        2. @barale61Il faudrait le code du formulaire de saisi car les $_POST correspondent, je suppose, à des champs d'un formulaire. Vous devez avoir un index qui n'existe pas ou est mal saisie dans votre formulaire.
          Il faudrait l'erreur exacte aussi