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 :

[SQL] Page d'enregistrement des membres


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Par défaut [SQL] Page d'enregistrement des membres
    Voila, je me suis mis a la création d'une page d'enregistrement des membres.
    Et maintenant, je l'ai terminée, mais celle-ci ne correspond pas à mes attentes.

    Voici le code source de la page :

    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
    122
    123
    124
    125
    <?php
     
    	if ($_POST['login'] != NULL AND $_POST['pass'] != NULL AND $_POST['repass'] != NULL AND $_POST['mail'] != NULL AND $_POST['remail'] != NULL AND $_POST['jour'] != NULL AND $_POST['mois'] != NULL AND $_POST['année'] != NULL AND $_POST['pass'] == $_POST['repass'] AND $_POST['mail'] == $_POST['remail'] AND $_POST['rules'] == on)
    	{
     
    		include("../includes/mysql.conf.php");
     
    		$login = htmlentities($_POST['login'], ENT_QUOTES);
    		$pass = md5(htmlentities($_POST['pass'], ENT_QUOTES));
    		$repass = md5(htmlentities($_POST['repass'], ENT_QUOTES));
    		$mail = htmlentities($_POST['mail'], ENT_QUOTES);
    		$remail = htmlentities($_POST['remail'], ENT_QUOTES);
    		$jour = htmlentities($_POST['jour'], ENT_QUOTES);
    		$mois = htmlentities($_POST['mois'], ENT_QUOTES);
    		$annee = htmlentities($_POST['annee'], ENT_QUOTES);
    		$rules = true;
    		$date = date(d/m/Y);
     
    		function get_ip(){ 
    		if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    		{ 
    		$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    		} 
    		elseif(isset($_SERVER['HTTP_CLIENT_IP']))
    		{ 
    		$ip = $_SERVER['HTTP_CLIENT_IP'];
    		} 
    		else
    		{ 
    		$ip = $_SERVER['REMOTE_ADDR'];
    		} 
    		return $ip;
    		}
    		$ip = get_ip();
     
    		mysql_query("INSERT INTO membres VALUES('', '" . $login . "', '" . $pass . "', '" . $mail . "', '" . $jour . "', '" . $mois . "', '" . $annee . "', '" . $rules . "', '" . $date . "', '" . $ip . "')");
     
    		if ($_POST['newsletter'] == on)
    		{
    			$newsletter = true;
    		}
     
    		else
    		{
    			$newsletter = false;
    		}
     
    		mysql_query("INSERT INTO newsletter VALUES('', '" . $mail . "')");
     
    		mysql_close();
     
    		header("Location: reg_confirm.php");
     
    	}
     
    	else
    	{
    		echo "Veuillez vérifier que vos pass et vos mails sont bien identiques.";
    	}
     
     
    ?>
     
     
     
    <form type="post" action="register.php" name="register">
    <table><tr><td>Login : </td><td><input type="text" name="login" /></td></tr>
    <tr><td>Pass : </td><td><input type="password" name="pass" /></td></tr>
    <tr><td>Pass (confirmez) : </td><td><input type="password" name="repass" /></td></tr>
    <tr><td>Mail : </td><td><input type="text" name="mail" /></td></tr>
    <tr><td>Mail (confirmez) : </td><td><input type="text" name="remail" /></td></tr>
    <tr><td>Date de naissance : </td><td><select name="jour">
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
    </select> 
     
    <select name="mois">
        <option value="Janvier">Janvier</option>
        <option value="Février">Février</option>
        <option value="Mars">Mars</option>
        <option value="Avril">Avril</option>
        <option value="Mai">Mai</option>
        <option value="Juin">Juin</option>
        <option value="Juillet">Juillet</option>
        <option value="Août">Août</option>
        <option value="Septembre">Septembre</option>
        <option value="Octobre">Octobre</option>
        <option value="Novembre">Novembre</option>
        <option value="Décembre">Décembre</option>
    </select>
     
    <input type="text" name="annee" value="Année" /></td></tr></table><br>
    <center><input name="newsletter" checked="checked" type="checkbox">Je souhaite reçevoir la newsletter quotidiène. (Facultatif - sans spams)<br>
    <input name="rules" type="checkbox"> J'ai lu et accepte les conditions d'utilisations.<br><br>
    <input type="submit" name="reg" value="S'enregistrer" /></center>
    </form>
    Pouvez-vous me dire ce qui n'est pas correcte dans mon script aussi bien de l'ordre technique que de celui de la sécurité ?

    Merci d'avance.
    NeO666Linux

  2. #2
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    prkoi?? ya une erreur ?? ou tu cherches a améliorer ton code ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Par défaut
    En fait oui, j'ai le message d'erreur, en cas de différence des mdp ou des mails, qui s'affiche

    ensuite quand je replis le formulaire et que j'essaye de m'enregistrer, toutes les variables s'inscrivent dans l'url de la page et les données ne sont pas enregistrées dans la bdd

    je précise que je suis un débutant en php...

  4. #4
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    ah bah poste ton message d'erreur ça sera plus simple pour comprendre d'ou vient le probleme

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Par défaut
    En fait mon message d'erreur n'était qu'une bête erreur de ma part mais maintenant c'est réglé.

    J'ai modifié mon script :

    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
    <?php
     
    	if ($_POST['login'] != NULL AND $_POST['pass'] != NULL AND $_POST['repass'] != NULL AND $_POST['mail'] != NULL AND $_POST['remail'] != NULL AND $_POST['jour'] != NULL AND $_POST['mois'] != NULL AND $_POST['année'] != NULL AND $_POST['pass'] == $_POST['repass'] AND $_POST['mail'] == $_POST['remail'] AND $_POST['rules'] == on)
    	{
     
    		include("../includes/mysql.conf.php");
     
    		$login = htmlentities($_POST['login'], ENT_QUOTES);
    		$pass = md5(htmlentities($_POST['pass'], ENT_QUOTES));
    		$mail = htmlentities($_POST['mail'], ENT_QUOTES);
    		$jour = htmlentities($_POST['jour'], ENT_QUOTES);
    		$mois = htmlentities($_POST['mois'], ENT_QUOTES);
    		$annee = htmlentities($_POST['annee'], ENT_QUOTES);
    		$date = date(d/m/Y);
     
    		function get_ip(){ 
    		if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    		{ 
    		$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    		} 
    		elseif(isset($_SERVER['HTTP_CLIENT_IP']))
    		{ 
    		$ip = $_SERVER['HTTP_CLIENT_IP'];
    		} 
    		else
    		{ 
    		$ip = $_SERVER['REMOTE_ADDR'];
    		} 
    		return $ip;
    		}
    		$ip = get_ip();
     
    		mysql_query("INSERT INTO membres VALUES('', '" . $login . "', '" . $pass . "', '" . $mail . "', '" . $jour . "', '" . $mois . "', '" . $annee . "', '" . $date . "', '" . $ip . "')");
     
    		if ($_POST['newsletter'] == on)
    		{
    			mysql_query("INSERT INTO newsletter VALUES('', '" . $mail . "')");
     
    		}
     
    		mysql_close();
     
    		header("Location: reg_confirm.php");
    	}
     
    ?>
     
     
    <form type="post" action="register.php" name="register">
    <table><tr><td>Login : </td><td><input type="text" name="login" /></td></tr>
    <tr><td>Pass : </td><td><input type="password" name="pass" /></td></tr>
    <tr><td>Pass (confirmez) : </td><td><input type="password" name="repass" /></td></tr>
    <tr><td>Mail : </td><td><input type="text" name="mail" /></td></tr>
    <tr><td>Mail (confirmez) : </td><td><input type="text" name="remail" /></td></tr>
    <tr><td>Date de naissance : </td><td><select name="jour">
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
    </select> 
     
    <select name="mois">
        <option value="Janvier">Janvier</option>
        <option value="Février">Février</option>
        <option value="Mars">Mars</option>
        <option value="Avril">Avril</option>
        <option value="Mai">Mai</option>
        <option value="Juin">Juin</option>
        <option value="Juillet">Juillet</option>
        <option value="Août">Août</option>
        <option value="Septembre">Septembre</option>
        <option value="Octobre">Octobre</option>
        <option value="Novembre">Novembre</option>
        <option value="Décembre">Décembre</option>
    </select>
     
    <input type="text" name="annee" value="Année" /></td></tr></table><br>
    <center><input name="newsletter" checked="checked" type="checkbox">Je souhaite reçevoir la newsletter quotidiène. (Facultatif - sans spams)<br>
    <input name="rules" type="checkbox"> J'ai lu et accepte les conditions d'utilisations.<br><br>
    <input type="submit" name="reg" value="S'enregistrer" /></center>
    </form>
    et maintenant, j'aimerais juste comprendre pourquoi les variables s'inscrivent dans l'url et pourquoi les variables ne s'enregistrent pas dans ma base de donnée.

    Merci d'avance

  6. #6
    Membre confirmé Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Salut !

    Je crois que l'erreur vient d'ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form type="post" action="register.php" name="register">
    Ca n'est pas "type", mais "method" qu'il faut utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="register.php" name="register">
    Et donc je pense que c'est pour ca que ca ne s'enregistre pas dans ta base, puisque par défault, ca passe dans $_GET, et toi tu appelles $_POST.

    Essaye avec ca pour voir ^^

    ++

  7. #7
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Par défaut
    oui autant pour moi je ne sais pas ce qui m'a pris de mettre "type", voila je l'ai modifié, je n'ai plus les variables dans l'url, merci bigltnt

    mais cela n'enregistre toujours pas dans la bdd

    en fait je n'ai pas bien compris le passage avec $_GET et $_POST
    pourrais-tu m'éclairer un peu plus ?

    EDIT : arf c'est bon j'ai compris ce que tu voulais me dire
    mais cela ne s'enregistre toujours pas.. T_T
    pitier aidez-moi ! ^^

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

Discussions similaires

  1. [WD14] créer un système d'enregistrement des membres
    Par AymenMSD dans le forum WinDev
    Réponses: 5
    Dernier message: 30/04/2012, 13h53
  2. Réponses: 4
    Dernier message: 26/09/2006, 11h42
  3. Réponses: 17
    Dernier message: 22/09/2006, 17h34
  4. enregistrer des variables dans une table via requete sql
    Par Echizen1 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/09/2006, 15h15
  5. [MySQL] Page d'administration des enregistrements
    Par clementphp dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/05/2006, 20h06

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