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. 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
  2. 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 ?
  3. 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. merci beaucoup ça marche bien c'était bon format de date qui n'était pas bon