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 -
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
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:
- Bonjour les informations ne s'enregistrent pas dans la base de donnée phpmyadmin
- Entrer les informations d'identification reseau - Guide
- Base de registre - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Formules mathématiques de base - Télécharger - Études & Formations
- Supprimer les données de navigation - Guide
1 réponse
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.
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.