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

Langage PHP Discussion :

création d'un formulaire d'inscription en PHP pour devenir membre


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Par défaut création d'un formulaire d'inscription en PHP pour devenir membre
    Bonjour,


    Pourriez-vous me dire où est le fameux bug (entendre l'erreur...) sur ce code qui ne marche pas!! Il s'agit de créer un formulaire PHP où on peut créer un compte : simple, avec les étapes :
    - remplissage du formulaire
    - insérer dans une BDD SQL (php My ADmin) donc, remplissage du tableau
    ...or, il n'y a aucune nouvelle inscription dans le tableau!!!

    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
    <?PHP
     
    //include("variables.inc.php"); --> ce fichier est rendu en commentaire, donc, inactif dans le code. Dans le code, je réutilise directement les variables qui sont localhost, root, "". Si le code marche, je remettrai le .inc.php actif
     
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $login = $_POST['login'];
    $email = $_POST['email'];
    $mdp = $_POST['mdp'];
     
    //Connexion  au SGBD MYSQL
    $connection = mysql_connect("localhost", "root", "");
     
    //Selection de la bd  de travail
    if($select = mysql_select_db("evaluation", $connection)) //evaluation = c'est la BDD
    {
    	//Opération SQL/ TABLES : insertion dans la table membres
    	$sql= "INSERT INTO membres (nom, prenom, login, email, mdp) VALUES ('$nom', '$prenom', '$login', '$email', '$mdp')";
    	mysql_query($sql);
    }
    else
    {
    	echo "Problème de selection de BD";
    }
     
    //Fermeture de la connexion au SGBD
    mysql_close($connection);
    ?>
     
     
    <html>
    		<head>
    			<title>Inscription</title>
    			<link href="style.css" rel="stylesheet" type="text/css" />
    		</head>
    <body>
     
    <h3>Inscription</h3>
     
     
    <p>Pour vous inscrire, veuillez remplir les champs suivants :</p>
     
    <FORM ACTION="" METHOD="POST">
    Nom	<INPUT TYPE="TEXT" SIZE="40" NAME="nom"><br>
    Prenom	<INPUT TYPE="TEXT" SIZE="40" NAME="prenom"><br>
    Login : choisir un surnom	<INPUT TYPE="TEXT" SIZE="40" NAME="login"><br>
    Adresse e-mail	<INPUT TYPE="TEXT" SIZE="40" NAME="email"><br>
    Confirmer adresse e-mail	<INPUT TYPE="TEXT" SIZE="40" NAME="emailverif"><br>
    Entrer un mot de passe	<INPUT TYPE="TEXT" SIZE="40" NAME="mdp"><br>
    Confirmer le mot de passe	<INPUT TYPE="TEXT" SIZE="40" NAME="mdpverif"><br>
    <br>
    <input type="submit" name="envoi" value="Valider" />
    </FORM>
     
    </body>
    </html>
    petite question sur le fichier VARIABLES.INC.PHP : j'ai vu que c'était pour clarifier le code, mais pourquoi n'y met-on pas toutes les variables que l'on crée (sauf celles qui sont à l'intérieur de la portée de la fonction, et qui n'existent donc qu'en tant que telles) ?? Dans mon cas, il y a 4 variables dans le fichier, et elles ne sont pas difficiles à écrire directement dans le code.

    merci par avance!!!

  2. #2
    Membre averti
    Profil pro
    Bricoleur
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Bricoleur

    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Par défaut
    Peut-être je dis une bêtise mais il me semble que la cible de action doit être indiquée même si le formulaire s'auto-appelle. Je ne pense pas que ce soit une bonne pratique cependant.
    Et attention à la sécurité. Toujours vérifier ce que l'on reçoit d'un formulaire.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Par défaut
    Bonjour,

    Pour le début de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?PHP
     
    include("C:/Program Files (x86)/EasyPHP-5.3.8.1/www/projet/inc/variables.inc.php");
     
    if isset(($_POST["nom"]) && ($_POST["prenom"]) && ($_POST["login"]) && ($_POST["login"]) && ($_POST["email"]) && ($_POST["mdp"])){
    	$nom = $_POST["nom"];
    	$prenom = $_POST["prenom"];
    	$login = $_POST["login"];
    	$email = $_POST["email"];
    	$mdp = $_POST["mdp"];
    }
    la réponse côté navigateur est un piteux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_ISSET, expecting '(' in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\projet\frontoffice\inscription.php on line 5
    ?????
    ...merci.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut
    Bonjour,

    Je pense qu'il te manque des guillemets puisque tu utilises des espaces dans le chemin.
    Essaie donc ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include("\"C:/Program Files (x86)/EasyPHP-5.3.8.1/www/projet/inc/variables.inc.php\"");

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    N'utilise pas de chemin absolu dans l'application. Utilise un chemin relatif.

    A+.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Par défaut
    Bonjour,


    OBligé, sinon, ça ne marche pas.

  7. #7
    Membre Expert Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_ISSET, expecting '(' in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\projet\frontoffice\inscription.php on line 5
    La réponse du serveur n'est pas piteuse mais décrit bien le problème.

    Il te dit que :
    - il n'a pas comprit ton code (parser error)
    - à la ligne 5 de ton code ( in [...]inscription.php on line 5)
    - il a rencontré la fonction isset (unexpected T_ISSET)
    - alors qu'il attendait une parenthèse (expecting '(')

    Compliqué de faire plus simple ;-)

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Par défaut
    Bonjour,


    merci...
    une autre erreur dans un autre exemple, mais de la même sorte :

    le code entré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "<form action="post.php" method="POST">";
    le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_STRING in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\exercice\index.php on line 32
    J'ai pensé qu'il est possible que ce soit une concordance entre la "ponctuation" et le PRINT, donc, en remplaçant par ECHO, car je sais que ce n'est pas tout à fait la même fonction :

    résultat d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\exercice\index.php on line 32
    merci

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Par défaut
    solution :

    echo '<form action="post.php" method="POST">';

  10. #10
    Membre Expert Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Par défaut
    Là le souci c'est que tu dois échapper tes " comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "<form action=\"post.php\" method=\"POST\">";
    Sinon php pense que ta chaîne de caractères s'arrête après action= et tente d'interpréter post.php et là il ne comprend plus....

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

Discussions similaires

  1. Formulaire d'inscription en PHP
    Par Yo0oupli dans le forum Langage
    Réponses: 4
    Dernier message: 19/05/2013, 20h17
  2. Formulaire d'inscription en PHP et javascript
    Par jockhip12 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/03/2012, 21h11
  3. Formulaire de contact XML PHP pour site en Flash
    Par suly style dans le forum Flash
    Réponses: 1
    Dernier message: 28/12/2009, 00h02
  4. Création d'un formulaire d'inscription
    Par mealtone dans le forum Langage
    Réponses: 10
    Dernier message: 08/10/2008, 20h25
  5. Création d'un formulaire php
    Par bandit007 dans le forum Langage
    Réponses: 12
    Dernier message: 28/02/2008, 12h52

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