Insertion des données dans la base

Fermé
OdetteEmilie Messages postés 5 Date d'inscription vendredi 9 novembre 2018 Statut Membre Dernière intervention 13 novembre 2018 - Modifié le 12 nov. 2018 à 19:40
 Zero - 13 nov. 2018 à 11:17
Bonjour! Je n'arrive pas à insérer les données de mon formulaire dans phpmyadmin.
<?php 
 $bdd = new PDO('mysql:host=localhost;dbname=habilitation', 'root', '');

 ?>
<!DOCTYPE [/html/htmlintro.php3 html]>
<html>
<head lang="fr">
<title>habilitation</title>
<link rel="stylesheet" href="habi.css">
<meta charset="utf-8">
</head>

<body>

<header>
 <p><img src="logo">logo</p>
 <p>Odette Emilie Felemou</p>

</header>
<h1 id="titre">Habilitation</h1>

<nav>
 <div class="tb">
  <ul>
      <li class="oi">
       <a href="accueil.php">Accueil</a>
   </li>
   <li class="oi">
        <a href="demande.php">Demande</a>
   </li>
   <li class="oi">
       <a href="recherche.php">Rechercher</a></li>
       <li class="oi">
    <a href="contact.php">Contact</a>
   
   </li>
   
  </ul>
 </div>
</nav>



 
 <h2>DEMANDE D'HABILITATION</h2>
 <form method="post" action="dbhabilitation.php">
  <label>Matricule
   <input type="text" name="MATRICULE_USER"  maxlength="1000px">
  </label><br/><br/>
  <label>Nom
   <input type="text" name="NOM_USER">
  </label><br/><br/>
  <label>Prenom
   <input type="text" name="PRENOM_USER">
  </label><br/><br/>
  <label>Agence
   <select>
    <option value="" selected="selected"></option>
    <option value="siege">SIEGE</option>
    <option value="mad1">MADINA 1</option>
    <option value="mad2">MADINA 2</option>
    <option value="ccf">CCF</option>
    <option value="kprim">Kipe-Prima</option>
    <option value="kagbe">KAGBELEN</option>
    <option value="sig">SIGUIRI</option>
   </select>
  </label><br/><br/>
  <label>Service
   <input type="text" name="SERVICE_USER">
  </label><br/><br/>
  <label>Fonction
   <input type="text" name="FONCTION_USER">
  </label><br/><br/>
  <label>Nom de la caisse
   <input type="text" name="NOM_CAISSE_USER">
  </label><br/><br/>
  
 
 <h3>IDENTIFICATION DE LA DEMANDE</h3>
 
  <label ><strong>Type de la demande</strong>
   
   <select id="NOM_TYPE_DEMANDE">
   <option value="" selected="selected"></option>
   <option value="habilitation">Habilitation</option>
   <option value="activation">Activation</option>
   <option value="réinitialisation">Réinitialisation</option>
   </select>
   </label>

  </label><br/><br/>
  
  <label ><strong>Nature de la demande</strong>
   <select id="NOM_NATURE_DEMANDE">
   <option value="" selected="selected"></option>
   <optgroup label="Habilitation"></optgroup>
   <option value="création">Création</option>
   <option value="modification">Modification</option>
   <option value="suppression">Suppression</option>
   <optgroup label="Activation/Retialisation"></optgroup>
   <option value="MDP">MDP Oublié</option>
   <option value="blocage">Blocage MDP</option>
   <option value="congé">Retour de Congé</option>
   
   </select>

  </label><br/><br/>

  
  <label><strong>Applicatifs</strong>
   <select id="NOM_NATURE_DEMANDE">
    <option value="" selected="selected"></option>
    <option value="win">Windows</option>
    <option value="message">Messagerie</option>
    <option value="internet">Internet</option>
    <option value="win">Windows</option>
    <option value="ORION">ORION</option>
    <option value="VSIGN/VSCAN">VSIGN/VSCAN</option>
    <option value="WEBCLEARING">WEBCLEARING</option>
    <option value="WIN FTP">WIN FTP</option>
    <option value="MONEY GRAM">MONEY GRAM</option>
   
   </select>

  </label><br/><br/>
  <h4>Objet de la demande</h4>
   <textarea id="message" name="message" maxlength="1000px"></textarea>
   
   <input type="submit" value="Envoyer" id="Envoyer">
 </form>
 
  

 <footer>
 <p>Copyrigth 2020 Odette Emilie Felemou - Tout droit réserve</p>
</footer>

 
</body>
</html>

code database
<?php
 
// Connexion à la base de données


 try
{
$bdd = new PDO('mysql:host=localhost;dbname=habilitation charset=utf-8', 'root', '');
$utilisateur=$bdd->prepare('INSERT INTO utilisateur(MATRICULE_USER,NOM_USER,PRENOM_USER,FONCTION_USER,SERVICE_USER,AGENCE_USER) VALUES(?,?,?,?,?,?)');
    utilisateur->execute(array($_POST['MATRICULE_USER'],$_POST['NOM_USER'],$_POST['PRENOM_USER'],$_POST['FONCTION_USER']$_POST['SERVICE_USER'],$_POST['AGENCE_USER']));

    $dmd=$bdd->prepare('INSERT INTO demande(ID_DEMD,OJBT_DEMD,DATE_ENVOI_DEM,DATE_VALID_DEMD)VALUES(?,?,?,?)');
    dmd->execute(array($_POST['ID_DEMD'],$_POST['OJBT_DEMD'],$_POST['DATE_ENVOI_DEMD'],$_POST['DATE_VALID_DEMD']));

    $ntd=$bdd->prepare('INSERT INTO nature_de_la_demande(ID_NATURE_DEMD,NOM_NATURE_DEMD)VALUES(?,?)');
    ntd->execute(array($_POST['ID_NATURE_DEMD'],$_POST['NOM_NATURE_DEMD']));

    $typdem=$bdd->prepare('INSERT INTO type_de_la_demande(ID_TYPE_DEMD,NOM_TYPE_DEMD)VALUES(?,?)');
    typdem->execute(array($_POST['ID_TYPE_DEMD'],$_POST['NOM_TYPE_DEMD']));

    $appli=$bdd->prepare('INSERT INTO applicatifs(ID_APP,NOM_APP)VALUES(?,?)');
    appli->execute(array($_POST['ID_APP'],$_POST['NOM_APP']));

    

   
}
catch(PDOException $e)
{
echo'Erreur : '.$e->getMessage();
}
?>


EDIT : AJout des balises de code

2 réponses

jordane45 Messages postés 38437 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 février 2025 4 737
12 nov. 2018 à 19:42
Bonjour,

Commence par activer l'affichage des erreurs PHP ainsi que celle de PDO
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs


Ensuite, applique les conseils donnés ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
tels que :
- place le maximum de code php AVANT ton code HTML
- Puis récupères PROPREMENT les variables AVANT de les utiliser dans tes requêtes

Et enfin.. reviens nous voir avec ton code corrigé en indiquant, si le souci persiste, exactement le problème ainsi que les éventuels messages d'erreur.


NB: Pour poster ton code sur le forum, à l'avenir, merci de le faire correctement en utilisant les BALISES DE CODE
(explications disponibles ici: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code )

0
Hello,

Si tu relis correctement ton code, tu t’apercevras que :
- Il manque des attributs "name" dans la plupart de tes SELECT
- Tu as des id en double
- NOM_TYPE_DEMANDE est différent de $_POST['NOM_TYPE_DEM']
- Certains paramètres que tu souhaites recevoir n'existent pas (ex: OJBT_DEMD)
- Tu oublies le '$' dans tes requêtes SQL (ex :
ntd->execute(array($_POST['ID_NATURE_DEMD'],$_POST['NOM_NATURE_DEMD']));
)

Voilà :)
0