Intialisation des variables

Résolu
barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   -  
barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   -
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. Thorak83 Messages postés 1140 Statut Membre 156
     
    Bonjour,

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

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


    Cordialement
    0
    1. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
       
      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>
      0
      1. Thorak83 Messages postés 1140 Statut Membre 156 > barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention  
         
        Il 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
        0
  2. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    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'] : '';
    0
    1. Thorak83 Messages postés 1140 Statut Membre 156
       
      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é
      0
    2. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113 > Thorak83 Messages postés 1140 Statut Membre
       
      Une entrée dans ma table est bien ajoutée, mais elle est nulle (les valeurs)
      0
    3. Thorak83 Messages postés 1140 Statut Membre 156
       
      pouvez vous faire un print_r($_POST); juste avant $nom = ...
      et afficher le résultat
      0
    4. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113 > Thorak83 Messages postés 1140 Statut Membre
       
      Cela me renvoi Array ( )
      0
    5. Thorak83 Messages postés 1140 Statut Membre 156
       
      Voila le problème la variable $_POST ne contient rien.
      Pouvez mettre ici le code du formulaire de saisie ?
      0
  3. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    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];
    }
    ?>
    
    0
  4. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    merci beaucoup ça marche bien c'était bon format de date qui n'était pas bon
    0