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 :

Insertion données dans ma 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
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Par défaut Insertion données dans ma BDD
    Bonjour, alors voila j'ai crée un formulaire et je voudrais que les données de ce formulaire rentrent dans ma BDD mais malheureusement cela ne marche pas.
    Mon code fonctionne, l’écho
    ' Vous &ecirctes maintenant inscrit et membre du site';
    s'affichent mais les données ne rentrent pas dans la base. Je pense pas que l'erreur vienne de mon code puisqu'au début, j'avais juste les champs ID login et pass et tout fonctionnait. Mais j'ai ajouté le nom, prenom , adresse , CP, ville dans ma table et j'ai adapté du coup le code et maintenant cela ne fonctionne plus..

    Est ce que quelqu’un connait ce problème .. ?

    Voici le 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
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    <?php
     
    // Connexion à la base de données 
        try
        {
            // On se connecte à MySQL 
            $bdd = new PDO('mysql:host=localhost;dbname=sfere_essaie', 'root', ''); 
        } 
        catch(Exception $e) 
        { 
            // En cas d'erreur, on affiche un message système et on arrête tout 
                 die('Erreur : '.$e->getMessage());
    	}
     
    $error = FALSE;
    $registerOK = FALSE;
     
     
    	 if(isset ($_POST["register"]))
    	{
     
     
            // On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur.
            if($_POST["login"] == NULL OR $_POST["pass"] == NULL OR $_POST["pass2"] == NULL OR $_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["adresse"] == NULL OR $_POST["CP"] == NULL OR $_POST["ville"] == NULL )  
    		{
     
                // On met la variable $error à TRUE pour que par la suite le navigateur sache qu'il y'a une erreur à afficher.
                $error = TRUE;
     
                // On écrit le message à afficher :
                echo $errorMSG = "Tout les champs doivent &ecirctre remplis !";
     
            }
    		// Sinon, si les deux mots de passes correspondent :
            elseif($_POST["pass"] == $_POST["pass2"])
    		{
     
                // On regarde si le mot de passe et l'identifiant n'est pas le même
                if($_POST["login"] != $_POST["pass"])
    			{
     
                    // Si c'est bon on regarde dans la base de donnée si l'identifiant est déjà utilisé :
                   $sql = 'SELECT COUNT(*) AS nb_rec FROM gerant WHERE login = ?';
    			   $stmt = $bdd->prepare($sql);
    			   $exec = $stmt->execute(array($_POST['login']));
    				// Si $sql est égal à 0 (c'est-à-dire qu'il n'y a pas d'dentifiant avec la valeur tapé par l'utilisateur
                   if($exec)
    			   {
    					$data = $stmt->fetch();
    					if ($data['nb_rec'] == 0)
    					{
     
     
     
    						if($_POST["login"] != $_POST["pass"])
    						{
     
                               // Si tout ce passe correctement, on peut maintenant l'inscrire dans la base de données :
                            $req = $bdd->prepare('INSERT INTO gerant (login, pass, nom, prenom, adresse, CP, ville) VALUES (?, ?, ?, ?, ?, ?, ?,)'); 
     
    						echo $_POST['login']; 
    						echo $_POST['pass'];
    						echo $_POST['nom']; 
    						echo $_POST['prenom']; 
    						echo $_POST['adresse']; 
    						echo $_POST['CP']; 
    						echo $_POST['ville'];
     
    						$req->execute(array($_POST['login'], $_POST['pass'], $_POST['nom'], $_POST['prenom'], $_POST['adresse'], $_POST['CP'], $_POST['ville']));
     
    						echo ' Vous &ecirctes maintenant inscrit et membre du site';
    						}
     
    						else
    						{
    						$error = TRUE;
                            echo $errorMSG = "Erreur dans la requ&ecircte SQL<br/>".$req."<br/>";
    						}
    					}
    					else
    					{
    						echo "l\identifiant est déja utilisé";
    					}
    				}
    				else
    				{
    					$error = TRUE;
    					echo $errorMSG = "L'identifiant <strong>".$_POST["login"]."</strong> est d&eacutejà utilis&eacute !";
    					$login = NULL;
    					$pass = $_POST["pass"];
    				}
    			}
    			else
    			{ 
     
                    $error = TRUE;
    				echo $errorMSG = "L'identifiant et le mot de passe doivent êtres différents !";
     
                }
    		}		// Sinon si les deux mots de passes sont différents :      
    		elseif($_POST["pass"] != $_POST["pass2"])
    		{
    				 $error = TRUE;
    			echo $errorMSG = "Les deux mots de passes sont différents !";
    				 $login = $_POST["login"];
    				 $pass = NULL;
     
    		}
     
    			// Sinon si l'identifiant et le mot de passe ont la même valeur :
    		elseif($_POST["login"] == $_POST["pass"])
    		{
     
    				 $error = TRUE;
    			echo $errorMSG = "L'identifiant et le mot de passe doivent être différents !";
     
    		}
    	}
     
    ?>
    Merci d'avance pour votre aide

  2. #2
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Salut,

    Je pense que l'erreur vient de la virgule en trop a la fin de ta requête :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = $bdd->prepare('INSERT INTO gerant (login, pass, nom, prenom, adresse, CP, ville) VALUES (?, ?, ?, ?, ?, ?, ?,)');

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Par défaut
    Je te remercie c'était bien la virgule en trop je voulais te poser une autre petite question , une fois que je clique sur s'inscrire pour valider l'inscription , il me marque par exemple :
    exemple1testuserteamuser60 rue des beaux champs78475brieux Vous êtes maintenant inscrit et membre du site
    Or je ne voudrais pas que les informations apparaissent mais seulement le message echo
    Vous êtes maintenant inscrit et membre du site
    que faut-il faire ??

  4. #4
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Il faut que t'enleve cette partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    echo $_POST['login']; 
    echo $_POST['pass'];
    echo $_POST['nom']; 
    echo $_POST['prenom']; 
    echo $_POST['adresse']; 
    echo $_POST['CP']; 
    echo $_POST['ville'];

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Par défaut
    Je te remercie !

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

Discussions similaires

  1. Insertion de données dans une BDD Access
    Par LeMeD dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/01/2010, 16h43
  2. [MySQL] php/mysql Insertion de données dans ma bdd
    Par djavrel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/04/2009, 18h16
  3. [MySQL] insertion données dans BDD via formulaire
    Par stefanelle dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 23/02/2009, 10h51
  4. Insertion de données dans une BDD Oracle avec VB.NET
    Par DashRendar dans le forum Accès aux données
    Réponses: 7
    Dernier message: 23/01/2008, 08h47
  5. [SQL-Server] Insertion via checkbox des données dans une bdd
    Par agur29 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/07/2007, 10h17

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