IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Formulaire Contact en PHP :Données Introuvales dans la BDD [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 20
    Par défaut Formulaire Contact en PHP :Données Introuvales dans la BDD
    Bonsoir, dans le cadre de mes études, je doit mettre en place une page : Formulaire de Contact, avec plusieurs champ de textes, et un bouton submit.

    Cependant j'ai un problème, mon code me semble bon, et après avoir exécuté la requête, les données ne s'affichent pas dans ma BDD (j'utilise Laragon).

    J'ai pourtant vérifié pour voir si je recevais des données. Je les reçois mais elle ne s'affiche pas dans la BDD ? Que faire ?

    Voici mon code de ma page index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
     
    <?php session_start(); ?>
     
    <!DOCTYPE html>
     
    <html lang="fr">
     
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <meta http-equiv="X-UA-Compatible" content="ie=edge">
            <link rel="stylesheet" href="CSS/style.css">
            <title>Formulaire de Contact</title>
        </head>
     
        <body>
     
        <!-- En-Tête -->
     
            <header>
     
                <h1>Formulaire de Contact</h1>
     
            </header>
     
            <hr><br/>
     
            <!-- Contenu de la page -->
     
            <section>
     
                <!-- Formulaire avec alignement (tableau) -->
     
                <form action="PHP/traitement.php" method="post" id="formulaire">
     
                    <fieldset>
     
                        <legend>Vos coordonnées</legend><!-- Titre du fieldset -->
     
                        <table>
     
                            <tr><!-- Champ Civilite -->
                                <td><label for="civilite">Civilite</label></td>
                                <td><select name="civilite" id="civilite" name="civilite">
                                    <option value="" selected>Aucun</option>
                                    <option value="Madamme">Madamme</option>
                                    <option value="Monsieur">Monsieur</option>
                                </select>
                                </td>
                            </tr>
     
                            <tr><!-- Champ Nom -->
                                <td><label for="nom">Nom : </label></td>
                                <td><input type="text" name="nom" id="nom" placeholder="Saisissez votre nom ..." value="XXX" /></td>
                            </tr>
                            <tr><!-- Champ Prénom -->
                                <td><label for="prenom">Prénom : </label></td>
                                <td><input type="text" id="prenom" name="prenom" placeholder="Saisissez votre prénom ..." value="XXX" /></td>
                            </tr>
                            <tr><!-- Champ Date de naissance -->
                                <td><label for="date">Date de naissance : </label></td>
                                <td><input type="date" id="date" name="date" /></td>
                            </tr>
                            <tr><!-- Champ E-mail -->
                                <td><label for="mail">E-mail : </label></td>
                                <td><input type="email" name="mail" id="mail" placeholder="Saisissez votre e-mail ..." value="XXX@XXX.fr" /></td>
                            </tr>
     
                        </table>
     
                        <br />
     
                        <!-- Bouton Envoyer -->
     
                        <p id="bouton"><input type="submit" value="Enregistrer" /></p>
     
                    </fieldset>
     
                </form>
     
            </section>
     
            <br/><hr>  
     
            <!-- Pied de page -->
     
            <footer>
     
                <p>GUIRADO-PATRICO Nathan</p>
     
            </footer>
     
        </body>
     
    </html>
    Et voici mon code PHP de traitement de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    <?php
     
    /* Démarrage de la session */
     
    session_start();
     
    /* Début Programme */
     
    try{
     
        /* Conexion BDD */
     
        $bdd = new PDO('mysql:host=localhost;dbname=contact;charset=utf8', 'root', '');
     
     
        /* Variables & Test : Champ Manquant */
     
        // Champ Civilite
        if($_POST['civilite'] == ""){
            die('Erreur : Champ Civilité Manquant !');
        }
        else{
            $civilite = $_POST['civilite'];
            //print $civilite;
        }
     
        //Champ Nom
        if($_POST['nom'] == ""){
            die('Erreur : Champ Nom Manquant !');
        }
        else{
            $nom = $_POST['nom'];
            //print $nom;
        }
     
        // Champ Prénom
        if($_POST['prenom'] == ""){
            die('Erreur : Champ Prénom Manquant !');
        }
        else{
            $prenom = $_POST['prenom'];
            //print $prenom;
        }
     
        // Champ Date de Naissance
        if($_POST['date'] == ""){
            die('Erreur : Champ Date de Naissance Manquant !');
        }
        else{
            $dateN = $_POST['date'];
            //print $dateN;
        }
     
        // Champ Email
        if($_POST['mail'] == ""){
            die('Errerur : Champ Email Manquant !');
        }
        else{
            $mail = $_POST['mail'];
            //print $mail;
        }
     
     
        /* Requête */
     
        $req = $bdd->prepare('INSERT INTO utilisateur (Uti_Civilite, Uti_Nom, Uti_Prenom, Uti_Date, Uti_Email) VALUES ($civilite, $nom, $prenom, $dateN, $mail)');
     
     
        /* Exécution Requête */
     
        $req->execute();
     
        /* Message de confirmation & Lien vers Formulaire */
        echo('Requête correctement exécutée ! Pour revenir au formulaire, ' . "<a href='../index.php'>Cliquer Ici !</a>");
    }
    catch(Exception $e){
        die('Erreur : ' . $e->getMessage());
    }
     
    ?>
    Voici le résultat sur ma BDD :
    Nom : RESULTAT_REQ.JPG
Affichages : 439
Taille : 43,7 Ko

    Merci, bonne soirée et Joyeux Noël !

  2. #2
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    PHP remplace les variables dans une chaîne si et seulement si la chaîne est délimitée par des " et non pas par des '. Donc dans ton cas

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = $bdd->prepare('INSERT INTO utilisateur (Uti_Civilite, Uti_Nom, Uti_Prenom, Uti_Date, Uti_Email) VALUES ($civilite, $nom, $prenom, $dateN, $mail)');

    $civilite
    et les autres variables ne sont pas remplacées par leurs valeurs et tu devrais obtenir une erreur normalement puisque tu essaies d'insérer des valeurs qui ne sont pas correctes.

    Ceci dit ce n'est pas le point important.

    Tu utilises mal prepare dont le but est de protéger les requêtes. Comme tu l'utilises il ne sert à rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    $req = $bdd->prepare('INSERT INTO utilisateur (Uti_Civilite, Uti_Nom, Uti_Prenom, Uti_Date, Uti_Email) VALUES (:civilite, :nom, :prenom, :dateN, :mail)');$req->bindParam(':civilite', $civilite );
    $req->bindParam(':nom', $nom );
    $req->bindParam(':prenom', $prenom );
    $req->bindParam(':dateN', $dateN);
    $req->bindParam(':mail', $mail);
     
    /* Exécution Requête */
     
    $req->execute();
    Néanmoins tu ne dis pas si tu vois le message 'Requête correctement exécutée ... donc il se peut qu'il y ait plus d'une erreur dans ton code.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 20
    Par défaut
    Merci tout fonctionne correctement maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] expliquer fonctionnement d un formulaire en html/PHP avec insertion dans BDD
    Par Samix.94 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/04/2018, 21h59
  2. Réponses: 3
    Dernier message: 02/10/2017, 09h43
  3. [Oracle] Traitement Formulaire PHP [donnée insérer dans db même si erreur]
    Par Snexos dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/06/2014, 17h01
  4. Formulaire contact html avec fichier texte dans zone de liste select
    Par lemask dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 14/01/2014, 14h54
  5. [MySQL] lecture de données binaires dans une BDD
    Par Sion_Sempai dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/03/2006, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo