Bonjour les informations ne s'enregistrent pas dans la base de donnée phpmyadmin

necc_242 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour! les informations entrées dans mon formulaire ne s'enregistrent pas dans ma base de donnée phpmyadmin. je vous présente mon code
merci d'avance

Connexion

<?php
//PDO2,classe qui hérite le PDO 
class PDO2 extends PDO 
{
 private static $instance;
 // __construct: héritage public obligatoire par héritage de PDO
 public function __construct( ) 
 {
 
 }
 //Vérifie que son instance n'existe pas (non initialisée) avant de créer une nouvelle
 public static function getInstance() 
 {
  if (!isset(self::$instance)) 
  {
   try 
   {
    //Création du tableau pour l'activation des exceptions PDO(PHP Data Objects)
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    // Connexion à la base de données
    self::$instance = new PDO('mysql:host=localhost:3308;dbname=archive;charset=utf8', 'root', 'root');
   }
    catch (PDOException $e) //Gestion des exceptions
    
   {
    // En cas d'erreur, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
   }
  }
  return self::$instance;
 }
}
?>

class

<?php
 //inclure la connexion
 include_once("class_pdo2.php");
 //création d'une classe 
 class membre
  {
   //déclaration des attributs
         private $nom_membre;
   private $prenom_membre;
   private $sexe;
   private $fonction;
   private $date_naissance;
      private $adresse;
   private $telephone;
   private $email;
   //constructeur avec paramètre
   Public function __construct($nom_membre,$prenom_membre,$sexe,$fonction,$date_naissance,$adresse,$telephone,$email)
   {
    $this->nom=$nom_membre;
     $this->prenom=$prenom_membre;
     $this->sex=$sexe;
     $this->fonction=$fonction;
     $this->date=$date_naissance;
     $this->adress=$adresse;
     $this->tel=$telephone;
     $this->email=$email;     
   }

   //fonction insertion
   Public Function Ajouter(membre $C)
   {
      $rek="INSERT INTO membre VALUES('','$C->nom','$C->prenom','$C->sex','$C->fonction','$C->date','$C->adress','$C->tel','$C->email')";
     CUD($rek);
   }
   
   //fonction affichage
   public function read($id)
   {
    if($id === null){
     $req = "SELECT `id_membre`, `nom_membre`, `prenom_membre`, `sexe`, `fonction`, `date_naissance`, `adresse`, `telephone`, `email` FROM `membre` order by id_membre";
     return Selection($req);
    } else {
     $req = "SELECT `id_membre`, `nom_membre`, `prenom_membre`, `sexe`, `fonction`, `date_naissance`, `adresse`, `telephone`, `email`  FROM `membre`  order by id_membre=.$id";
     
     return Selection($req);
    }
   }
   public function delete($id)
  {
   $req = "DELETE FROM `membre` WHERE id_membre= $id";
   CUD($req);
  }
  }

?>

Formulaire

<!DOCTYPE html>
<html lang="fr-FR">
<head>
 <title>Formulaire</title>
 <meta charset="utf-8">
 <link rel="stylesheet" href="MonSite.css">
</head>
<body>
 <header>
  <h1>Remplissez le formulaire s'il-vous-plait!</h1>
 </header>
 <!-- PAGE CONTENT BEGINS -->
        <?php
include_once("C:\wamp64\www\projet_archive\connexion\connexion_generale.php");
include_once("C:\wamp64\www\projet_archive\modeles\class_membre.php"); 
if(isset($_POST["enregistrer"]))
   {  
  
         $nom_membre=addslashes($_POST["nom"]);
   $prenom_membre=addslashes($_POST["prenom"]);
   $sexe=addslashes($_POST['sexe']);
   $fonction=addslashes($_POST["fonction"]);
   $date_naissance=addslashes($_POST["date"]);
      $adresse=addslashes($_POST["adresse"]);
   $telephone=addslashes($_POST["tel"]);
   $email=addslashes($_POST["email"]);
   $p="SELECT count(*) as champ from membre
             where nom_membre='$nom_membre' and prenom_membre='$prenom_membre'";
             $requet1=Selection($p);

          foreach ($requet1 as $table)
                  {
                    $compted=$table["champ"];
                   }
             if ($compted>0)
             {
                
                 echo' <div class="alert alert-warning alert-dismissible text-center" role="alert">
                       <button type="button" class="close" data-dismiss="alert" aria-label="close"><span aria-hidden="true">×</span></button>
                       <strong style="font-size:17px">Ce membre existe dejà!</strong>
                </div>';
          
             }else
      {
  
              
  $rep=New membre ($nom_membre,$prenom_membre,$sexe,$fonction,$date_naissance,$adresse,$telephone,$email);
  $rep->Ajouter($rep);
  unset($rep);
     echo' <div class="alert alert-success alert-dismissible text-center" role="alert">
                       <button type="button" class="close" data-dismiss="alert" aria-label="close"><span aria-hidden="true">×</span></button>
                       <strong style="font-size:17px"> membre '.$nom_membre.' enregistré avec succès !</strong>
                </div>';
      }
      }
      
?>
 <section class="rouge">
  <br>
  <br>
  <div class="content"> 
   <form method="POST" action="">
    <div class="user"> 
     <label for="nom"> Nom(s): </label><input type="text" id="form-field-1-1" required="required" name="nom" onChange="javascript:this.value=this.value.toUpperCase();" placeholder="saisissez votre nom" class="form-control" />
    </div>
    <br>
    <div class="user"> 
     <label for="prenom"> Prénom(s): </label><input type="text" id="form-field-1-1" required="required" name="prenom" onchange="this.value = this.value.charAt(0).toUpperCase() + this.value.substr(1);" placeholder="saisissez votre prénom" class="form-control" />
    </div>
    <br>
    <div class="user"><label for="sexe"> Sexe: </label>
     <label>
      <input name="sexe" value="M" type="radio" required="required" class="ace" checked />
      <span class="lbl">Masculin</span>
     </label>
     <label>
      <input name="sexe" value="F" required="required" type="radio" class="ace"  />
      <span class="lbl">Feminin</span>
     </label>
    </div>
    <br>
    <div class="user"> 
     <label for="fonction"> Fonction: </label><input class="input-sm" type="text" required="required" name="fonction" id="form-field-4" placeholder="saisissez votre fonction" />
    </div>
    <br>
    <div class="user"> 
     <label for="adresse"> Adresse: </label><input type="text" id="form-field-1-1"  name="adresse" placeholder="saisissez votre adresse" class="form-control" />
    </div>
    <br>
    <div class="user"> 
     <label for="telephone"> Téléphone: </label><input type="text" id="form-field-1" required="required" name="tel" placeholder="saisissez votre numero de téléphone" class="col-xs-10 col-sm-5" />
    </div>
    <br>
    <div class="user"> 
     <label for="date"> Date de naissance: </label><input class="input-sm" type="date" required="required" name="date" id="form-field-4" placeholder="saisissez votre date de naissance" />
    </div>
    <br>
    <div class="user"> 
     <label for="mail"> Mail: </label><input type="email" id="form-field-1" required="required" name="email" placeholder="saisissez votre email" class="form-control" name="email" />
    </div>
    <br>
    <center>
    <div class="conn">
     <input type="submit" value="Enregistrer" name="enregistrer" /> 
    </div>
    </center>
   </form>
  </div>
 </section>
</body>
</html>
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Déjà, active l'affichage des erreurs PDO dans ta chaine de connexion (ça c'est déjà fait visiblement..) et place chaque requête dans un bloc try/catch.
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

Pense également à afficher les erreurs PHP dans ta page.
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

Au passage, on ne sait rien de ta fonction CUD
Ni de ta fonction "selection"

Soit tu ne nous as pas mis ton code complet ... soit tu as copié/collé du code trouvé au hasard sur le net...et tu en as oublié un bout.

0