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 des données du formulaire dans une BDD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    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
    Points : 9
    Points
    9
    Par défaut Insertion des données du formulaire dans une BDD
    Bonjour , je souhaite insérer les données de mon formulaire d'inscription dans ma base de donnée. (le login et pass) Mais il m'indique une erreur sur mon IF à la ligne 18 .. et je ne voit pas ou est l'erreur si quelqu’un peux m'aider ..

    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
     
    <?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;
    $errorMSG = string			 
    	 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)
    		{
     
                // 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 :
                $errorMSG = "Tout les champs doivent être 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 (*) FROM gerant WHERE login = '".$_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($sql == 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) VALUES (?, ?)'); 
     
    						echo $_POST['login']; 
    						echo $_POST['pass']; 
     
    						$req->execute(array($_POST['login'], $_POST['pass']));
     
    						echo ' gérant ajouté';
    					 }
     
    					 else
    					 {
    						$error = TRUE;
                            $errorMSG = "Erreur dans la requête SQL<br/>".$req."<br/>";
    					 }
    				}
    				else
    				{
    					$error = TRUE;
    					$errorMSG = "L'identifiant <strong>".$_POST["login"]."</strong> est déjà utilisé !";
    					$login = NULL;
    					$pass = $_POST["pass"];
    				}
    			}
    			else
    			{ 
     
                    $error = TRUE;
    				$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;
    			$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
    			$errorMSG = "L'identifiant et le mot de passe doivent être différents !";
     
    		}
    	}
    header("location:formulaire.php");
    ?>
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Salut,
    Effectivement si tu regarde bien avant ton IF, tu as oublie un ";" à la fin de la ligne 18.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $errorMSG = string ;			 
    	 if(isset ($_POST["register"]))
    	{
    Cordialement,

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    De toute façon, string ne correspond à rien, tu auras donc une erreur de type
    Use of undefined constant string
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Futur Membre du Club
    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
    Points : 9
    Points
    9
    Par défaut
    Si j'enleve la ligne que tu m'indiques
    Il me donne une erreur sur la ligne 99.
    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
    <?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)
    		{
     
                // 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 :
                $errorMSG = "Tout les champs doivent être 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 (*) FROM gerant WHERE login = '".$_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($sql == 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) VALUES (?, ?)'); 
     
    						echo $_POST['login']; 
    						echo $_POST['pass']; 
     
    						$req->execute(array($_POST['login'], $_POST['pass']));
     
    						echo ' gérant ajouté';
    					 }
     
    					 else
    					 {
    						$error = TRUE;
                            $errorMSG = "Erreur dans la requête SQL<br/>".$req."<br/>";
    					 }
    				}
    				else
    				{
    					$error = TRUE;
    					$errorMSG = "L'identifiant <strong>".$_POST["login"]."</strong> est déjà utilisé !";
    					$login = NULL;
    					$pass = $_POST["pass"];
    				}
    			}
    			else
    			{ 
     
                    $error = TRUE;
    				$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;
    			$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
    			$errorMSG = "L'identifiant et le mot de passe doivent être différents !";
     
    		}
    	}
    header("location:formulaire.php");
    ?>
    Je ne voit pas en quoi ma variable §errorMSG est incorrect puisqu'elle sert juste a afficher comme quoi l'identifiant et le mot de passe doivent être différents.
    Quelqu'un voit pourquoi ??

    Merci pour votre aide.

    l'erreur est la suivante :

    Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\sfere_essaie\index2.php on line 97

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu n'as pas compris ma remarque...
    Je ne t'ai pas dit de ne pas initialiser ta variable, je t'ai juste dit que l'initialisation était fausse !
    en faisant ça, comme string ne correspond à rien en PHP, le code va essayer d'affecter à ta variable la valeur de la constante string et comme cette constante n'existe pas, cela va générer une erreur !
    Pour initialiser une chaine vide, c'est
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Futur Membre du Club
    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
    Points : 9
    Points
    9
    Par défaut
    Je te remercie pour ton aide Bovino, j'ai déclaré ma variable comme tu me l'as indiquer.
    Mais l'erreur reste toujours la même..
    Je ne voit vraiment pas ce qu'il faut faire

    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
     
    <?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;
    $errorMSG = '';
     
    	 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)
    		{
     
                // 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 :
                $errorMSG = "Tout les champs doivent être 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 (*) FROM gerant WHERE login = '".$_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($sql == 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) VALUES (?, ?)'); 
     
    						echo $_POST['login']; 
    						echo $_POST['pass']; 
     
    						$req->execute(array($_POST['login'], $_POST['pass']));
     
    						echo ' gérant ajouté';
    					 }
     
    					 else
    					 {
    						$error = TRUE;
                            $errorMSG = "Erreur dans la requête SQL<br/>".$req."<br/>";
    					 }
    				}
    				else
    				{
    					$error = TRUE;
    					$errorMSG = "L'identifiant <strong>".$_POST["login"]."</strong> est déjà utilisé !";
    					$login = NULL;
    					$pass = $_POST["pass"];
    				}
    			}
    			else
    			{ 
     
                    $error = TRUE;
    				$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;
    			$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
    			$errorMSG = "L'identifiant et le mot de passe doivent être différents !";
     
    		}
    	}
    header("location:formulaire.php");
    ?>
    Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\sfere_essaie\index2.php on line 98
    Correspondant à la ligne 99 dans mon code ci-dessus

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    La même chose que déjà expliqué...
    Ca ne devrait pas être à nous de faire ce type de débogage !

    Citation Envoyé par Floyus
    tu as oublie un ";" à la fin de la ligne
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Futur Membre du Club
    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
    Points : 9
    Points
    9
    Par défaut
    ah oui ca marche enfin !
    Quand tu es plongé dans ton code, les petits détails n'apparaissent plus dans ma tete comme un " ; " .. !

    Je te remercie pour ton aide Bovino

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/06/2010, 13h19
  2. Récupération des données de formulaire dans une page JSP
    Par fauthie dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/09/2009, 14h02
  3. Réponses: 1
    Dernier message: 16/04/2009, 00h11
  4. Insertion des données du formulaire dans la base
    Par bebas dans le forum Langage
    Réponses: 9
    Dernier message: 23/02/2007, 12h03

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