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 :

Base de données MySQL ne stocke pas données de formulaire


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2017
    Messages : 28
    Par défaut Base de données MySQL ne stocke pas données de formulaire
    - 1 - Version de Windows utilisée : 10
    - 2 - Version de Wampserver : 3.0.x ET 32 bits
    - 3 - Version Apache : 2.4.23
    - 4 - Version PHP : 5.6.25
    - 5 - Version MySQL : 5.7.14
    - 6 - De quelle couleur est l'icône Wampserver : Vert

    - 7 - Dans le fichier c:\Windows\System32\drivers\etc\hosts, quelles sont les lignes actives* ? : Aucune ligne active

    - Si icône Wampserver verte et en utilisant le menu de cette icône :
    - 8 - Avez-vous accès à localhost (Page d'accueil de wampserver) ? : Oui
    - 8a - Si oui, y a-t-il un message d'erreur en bas de page ? : Non
    - 9 - Avez-vous accès à phpMyAdmin ? : Oui

    - 10 - Si vous faites référence à un message d'erreur, merci de donner le libellé EXACT et COMPLET de l'erreur : INET_E_RESOURCE_NOT_FOUND
    - 11 - Si vous utilisez un Anti-virus et/ou un Parefeu, merci de donner les noms de ceux-ci : Malwarebytes Anti-Malwares, McAfee
    - 12 - Quel est le chemin complet de l'installation de Wampserver (Par exemple D:\wamp\) : C:\wamp\wampmanager.exe



    Bonjour, j'ai crée un formulaire d'inscription pour mon projet, et lorsque je m'inscris, les données ne rentrent pas dans ma base de donnée alors que j'ai bien crée la table. Voici, mon code :

    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
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    <?php
     
    $bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', '');
     
    if(isset($_POST['forminscription'])) {
    $pseudo = htmlspecialchars($_POST['pseudo']);
    $mail = htmlspecialchars($_POST['mail']);
    $mail2 = htmlspecialchars($_POST['mail2']);
    $mdp = sha1($_POST['mdp']);
    $mdp2 = sha1($_POST['mdp2']);
    if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
    $pseudolength = strlen($pseudo);
    if($pseudolength <= 255) {
    if($mail == $mail2) {
    if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
    $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?"winking smiley;
    $reqmail->execute(array($mail));
    $mailexist = $reqmail->rowCount();
    if($mailexist == 0) {
    if($mdp == $mdp2) {
    $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)"winking smiley;
    $insertmbr->execute(array($pseudo, $mail, $mdp));
    $erreur = "Votre compte a bien été créé ! <a href=\"connexiontutoyt.php\">Me connecter</a>";
    } else {
    $erreur = "Vos mots de passes ne correspondent pas !";
    }
    } else {
    $erreur = "Adresse mail déjà utilisée !";
    }
    } else {
    $erreur = "Votre adresse mail n'est pas valide !";
    }
    } else {
    $erreur = "Vos adresses mail ne correspondent pas !";
    }
    } else {
    $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
    }
    } else {
    $erreur = "Tous les champs doivent être complétés !";
    }
    }
    ?>
    <html>
    <head>
    <title>INSCRIPTION</title>
    <meta charset="utf-8">
    </head>
    <body>
    <div align="center">
    <h2>Inscription</h2>
    <br /><br />
    <form method="POST" action="">
    <table>
    <tr>
    <td align="right">
    <label for="pseudo">Pseudo :</label>
    </td>
    <td>
    <input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>" />
    </td>
    </tr>
    <tr>
    <td align="right">
    <label for="mail">Mail :</label>
    </td>
    <td>
    <input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" />
    </td>
    </tr>
    <tr>
    <td align="right">
    <label for="mail2">Confirmation du mail :</label>
    </td>
    <td>
    <input type="email" placeholder="Confirmez votre mail" id="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>" />
    </td>
    </tr>
    <tr>
    <td align="right">
    <label for="mdp">Mot de passe :</label>
    </td>
    <td>
    <input type="password" placeholder="Votre mot de passe" id="mdp" name="mdp" />
    </td>
    </tr>
    <tr>
    <td align="right">
    <label for="mdp2">Confirmation du mot de passe :</label>
    </td>
    <td>
    <input type="password" placeholder="Confirmez votre mdp" id="mdp2" name="mdp2" />
    </td>
    </tr>
    <tr>
    <td></td>
    <td align="center">
    <br />
    <input type="submit" name="forminscription" value="Je m'inscris" />
    </td>
    </tr>
    </table>
    </form>
    <?php
    if(isset($erreur)) {
    echo '<font color="red">'.$erreur."</font>";
    }
    ?>
    </div>
    </body>
    </html>

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 427
    Par défaut
    Bonjour,
    Je ne suis pas spécialiste de PHP (te tu n'es pas dans la bonne section du forum...), mais il me semble que tu ne testes pas le retour de MySQL au lancement de ta requête.
    Tu devrais donc vérifier si elle s'exécute bien, et le cas échéant afficher l'erreur retournée par MySQL.
    Tu auras ainsi un début de piste.

    Tatayo.

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2017
    Messages : 28
    Par défaut
    Bonjour,
    Merci pour la réponse, je fais ça avec les blocs try et catch ??

  4. #4
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2017
    Messages : 28
    Par défaut
    Comment je fais pour tester le retour MySQL ?

  5. #5
    Membre averti
    Homme Profil pro
    Technicien Hotline
    Inscrit en
    Octobre 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien Hotline
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2015
    Messages : 22
    Par défaut
    Bonjour,

    tu dois rentrer le code suivant pour t'assurer que la connexion ce face bien avec ta base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //TENTATIVE DE CONNEXION PDO
    try {
        $bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', '');
        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
        catch (PDOException $e) {
        die($e->getMessage());
    }
    la commande setAttribu(.....) permet d'activer les messages d'erreur.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/10/2012, 17h28
  2. Ajouter des données dans un serveur de données MySQL via une application Android
    Par af.zakaria dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 30/07/2012, 16h25
  3. miniature d'images stockés dans une base de donnée mysql
    Par plage dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/07/2011, 12h48
  4. Réponses: 7
    Dernier message: 29/09/2010, 10h24
  5. MySQL ne trouve pas la base de données
    Par alfigor dans le forum Outils
    Réponses: 3
    Dernier message: 26/06/2006, 12h42

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