Alors voilà mon soucis. Si avec le formulaire register.php avec unLa personne qui vient s'enregistrer insère donc un mot de passe crypté dans la colonne pass de la table Membre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="password" name"motDePasse" size="20" maxsize="20" />
Mais là impossible de se connecter avec le mot de passe et cette page (erreur=Le nom de login 'mary' existe déjà mais notre mot de passe n'est correct. Essayer encore une fois.) :
Par contre si l'enlève le cryptage password (input texte tout simplement) dans le formulaire register.php et que j'enlève le password de password('$motDePasse') et password('$newpass') dans la page login.php cela fonctionne correctement si ce n'est que les mots de passe des utilisateurs ne sont pas cryptés..
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162 <?php session_start(); session_register('auth'); session_register('nomLogin'); $user="xxx"; $host="localhost"; $password="xxx"; $database="xxx"; $nomChamp=array ("nomMembre"=>"Utilisateur", "mpasse"=>"Mot de passe", "nomsociete"=>"Nom de la société", "rue"=>"Rue", "ville"=>"Ville", "cp"=>"Code postal", "canton"=>"Canton", "presidentnom"=>"Nom du président", "presidentprenom"=>"Prénom du président", "ruecourrier"=>"Rue (courrier)", "villecourrier"=>"Ville (courrier)", "cpcourrier"=>"Code postal (courrier)", "telephone"=>"Téléphone", "email"=>"E-mail", "adresseweb"=>"Adresse Internet", "cantoncourrier"=>"Canton (courrier)", "F300"=>"F300", "P50"=>"P50", "P25"=>"P25","P10"=>"P10","C50"=>"C50","C10"=>"C10", "presentation"=>"Présentation"); // function AfficherErreur ($texteMsg) {global $do,$nomMembre, $newpass, $nomsociete, $rue, $ville, $cp, $canton, $presidentnom, $presidentprenom, $ruecourrier, $villecourrier, $cpcourrier, $telephone, $email, $adresseweb, $cantoncourrier, $F300, $P50, $P25, $P10, $C50, $C10, $presentation; unset($do); $message_new=$texteMsg; include("register.php"); exit(); } // //-------------------------------------------------------------------- switch (@$do) {case "login": $user="xxx"; $host="localhost"; $password="xxx"; $database="xxx"; $connection =mysql_connect($host, $user, $password) or die ("Connexion impossible au serveur"); $db=mysql_select_db($database, $connection) or die ("La BD ne peut être selectionnée"); $sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomUtilisateur'"; $result = mysql_query($sql) or die (mysql_error()); $num = mysql_num_rows($result); if($num == 1) { $sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomUtilisateur' AND pass=password('$motDePasse')"; $result2 = mysql_query($sql) or die (mysql_error()); $num2 = mysql_num_rows($result2); if($num2 > 0) { $auth="yes"; $aujourdhui = date("Y-m-d h:i:s"); $sql = "INSERT INTO Login2 (nomLogin, dateLogin) VALUES ('$nomUtilisateur','$aujourdhui')"; mysql_query($sql) or die (mysql_error()); $nomLogin = $nomUtilisateur; header("Location: member_page.php"); }else { $message = "Le nom de login '$nomUtilisateur' existe déjà mais notre mot de passe n'est correct. Essayer encore une fois. <br \>"; unset ($do); include("register.php"); } }elseif($num == 0) { $message = "Le nom de login que vous avez saisi n'existe pas. Essayez une fois encore.<br />"; unset ($do); include("register.php"); } break; case "new": foreach ($HTTP_POST_VARS as $clé => $valeur) {switch ($clé) {case "nomsociete": case "nomMembre": case "newpass": case "ville": case "canton": case "villecourrier": case "cantoncourrier": case "presidentnom": case "presidentprenom": case "F300": case "P50": case "P25": case "P10": case "C50": case "C10": case "presentation": case "rue": case "ruecourrier": $$clé = strip_tags(trim($valeur)); break; case "cp": if (!ereg("[0-9]{4}", $cp) or strlen($cp) !=4) {AfficherErreur ("Le code postal n'est pas correct (4 chiffres). Corrigez, svp."); }break; case "cpcourrier": if (!ereg("[0-9]{4}", $cpcourrier) or strlen($cpcourrier) !=4) {AfficherErreur ("Le code postal n'est pas correct (4 chiffres). Corrigez, svp."); }break; case "telephone": if ($valeur == "")break; case "email": if (!ereg("^.+@.+\\..+$",$email)) {AfficherErreur ("L'adresse e-mail n'est pas correcte. Corrigez, svp."); } case "adresseweb": if ($valeur == "")break; } } // le nom de login existe-t-il déjà ? $user="webmastermary"; $host="localhost"; $password="qwertz"; $database="tircentralenet1"; $connexion= mysql_connect ($host, $user, $password) or die ("Connexion au serveur impossible"); $db = mysql_select_db ($database, $connexion) or die ("selection de la base impossible"); $sql= "SELECT nomLogin FROM Membre WHERE nomLogin='$nomMembre'"; $result = mysql_query ($sql) or die ("Impossible d'exécuter la requête"); $num = mysql_num_rows($result); if ($num > 0) {AfficherErreur ("$nomMembre est déjà utilisé. Choisissez un autre nom d'utilisateur."); } else {$aujourdhui = date("Y-m-d"); $sql = "INSERT INTO Membre (nomlogin, creation, mPasse, nomsociete, rue, ville, canton, cp, presidentnom, presidentprenom, ruecourrier, villecourrier, cpcourrier, cantoncourrier, telephone, email, adresseweb, F300, P50, P25, P10, C50, C10, presentation) VALUES ('$nomMembre', '$aujourdhui', password('$newpass'), '$nomsociete', '$rue', '$ville', '$canton', '$cp', '$presidentnom', '$presidentprenom', '$ruecourrier', '$villecourrier', '$cpcourrier', '$cantoncourrier', '$telephone', '$email', '$adresseweb', '$F300', '$P50', '$P25', '$P10', '$C50', '$C10', '$presentation')"; if (! mysql_query($sql)) {echo mysql_errno().":".mysql_error(); exit; } $auth="yes"; $nomUtilisateur = $nomMembre; //envoyer un email au nouveau membre $message = "un nouveau compte de membre vient d'être créé pour vous. ". "Votre nom d'utilisateur et votre mot de passe sont:". "\n\n\t$nomMembre\n\t$newpass\n\n". "Nous apprécions l'intérêt que nous portez à notre site. Si vous avez des questions à poser vous pouvez envoyer un e-mail à info@swiss-target.ch."; $entete="From:membres@swiss-target.ch\r\n"; $sujet = "Votre nouveau compte à Swiss-Target.ch"; $mailsend=mail("$email", "$sujet", "$message", "$entete"); // $nomLogin = $nomMembre; header ("Location: NouveauMembre.php"); } default: include("register.php"); } ?>
Pourquoi cela ne fonctionne t-il pas avec le cryptage ? (en bref, avec le cryptage il ne lit pas la condition if($num2 > 0))
Page login.php sans le cryptage:
Merci d'avance !
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162 <?php session_start(); session_register('auth'); session_register('nomLogin'); $user="xxx"; $host="localhost"; $password="xxx"; $database="xxx"; $nomChamp=array ("nomMembre"=>"Utilisateur", "mpasse"=>"Mot de passe", "nomsociete"=>"Nom de la société", "rue"=>"Rue", "ville"=>"Ville", "cp"=>"Code postal", "canton"=>"Canton", "presidentnom"=>"Nom du président", "presidentprenom"=>"Prénom du président", "ruecourrier"=>"Rue (courrier)", "villecourrier"=>"Ville (courrier)", "cpcourrier"=>"Code postal (courrier)", "telephone"=>"Téléphone", "email"=>"E-mail", "adresseweb"=>"Adresse Internet", "cantoncourrier"=>"Canton (courrier)", "F300"=>"F300", "P50"=>"P50", "P25"=>"P25","P10"=>"P10","C50"=>"C50","C10"=>"C10", "presentation"=>"Présentation"); // function AfficherErreur ($texteMsg) {global $do,$nomMembre, $newpass, $nomsociete, $rue, $ville, $cp, $canton, $presidentnom, $presidentprenom, $ruecourrier, $villecourrier, $cpcourrier, $telephone, $email, $adresseweb, $cantoncourrier, $F300, $P50, $P25, $P10, $C50, $C10, $presentation; unset($do); $message_new=$texteMsg; include("register.php"); exit(); } // //-------------------------------------------------------------------- switch (@$do) {case "login": $user="xxx"; $host="localhost"; $password="xxx"; $database="xxx"; $connection =mysql_connect($host, $user, $password) or die ("Connexion impossible au serveur"); $db=mysql_select_db($database, $connection) or die ("La BD ne peut être selectionnée"); $sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomUtilisateur'"; $result = mysql_query($sql) or die (mysql_error()); $num = mysql_num_rows($result); if($num == 1) { $sql = "SELECT nomLogin FROM Membre WHERE nomLogin='$nomUtilisateur' AND pass='$motDePasse'"; $result2 = mysql_query($sql) or die (mysql_error()); $num2 = mysql_num_rows($result2); if($num2 > 0) { $auth="yes"; $aujourdhui = date("Y-m-d h:i:s"); $sql = "INSERT INTO Login2 (nomLogin, dateLogin) VALUES ('$nomUtilisateur','$aujourdhui')"; mysql_query($sql) or die (mysql_error()); $nomLogin = $nomUtilisateur; header("Location: member_page.php"); }else { $message = "Le nom de login '$nomUtilisateur' existe déjà mais notre mot de passe n'est correct. Essayer encore une fois. <br \>"; unset ($do); include("register.php"); } }elseif($num == 0) { $message = "Le nom de login que vous avez saisi n'existe pas. Essayez une fois encore.<br />"; unset ($do); include("register.php"); } break; case "new": foreach ($HTTP_POST_VARS as $clé => $valeur) {switch ($clé) {case "nomsociete": case "nomMembre": case "newpass": case "ville": case "canton": case "villecourrier": case "cantoncourrier": case "presidentnom": case "presidentprenom": case "F300": case "P50": case "P25": case "P10": case "C50": case "C10": case "presentation": case "rue": case "ruecourrier": $$clé = strip_tags(trim($valeur)); break; case "cp": if (!ereg("[0-9]{4}", $cp) or strlen($cp) !=4) {AfficherErreur ("Le code postal n'est pas correct (4 chiffres). Corrigez, svp."); }break; case "cpcourrier": if (!ereg("[0-9]{4}", $cpcourrier) or strlen($cpcourrier) !=4) {AfficherErreur ("Le code postal n'est pas correct (4 chiffres). Corrigez, svp."); }break; case "telephone": if ($valeur == "")break; case "email": if (!ereg("^.+@.+\\..+$",$email)) {AfficherErreur ("L'adresse e-mail n'est pas correcte. Corrigez, svp."); } case "adresseweb": if ($valeur == "")break; } } // le nom de login existe-t-il déjà ? $user="webmastermary"; $host="localhost"; $password="qwertz"; $database="tircentralenet1"; $connexion= mysql_connect ($host, $user, $password) or die ("Connexion au serveur impossible"); $db = mysql_select_db ($database, $connexion) or die ("selection de la base impossible"); $sql= "SELECT nomLogin FROM Membre WHERE nomLogin='$nomMembre'"; $result = mysql_query ($sql) or die ("Impossible d'exécuter la requête"); $num = mysql_num_rows($result); if ($num > 0) {AfficherErreur ("$nomMembre est déjà utilisé. Choisissez un autre nom d'utilisateur."); } else {$aujourdhui = date("Y-m-d"); $sql = "INSERT INTO Membre (nomlogin, creation, mPasse, nomsociete, rue, ville, canton, cp, presidentnom, presidentprenom, ruecourrier, villecourrier, cpcourrier, cantoncourrier, telephone, email, adresseweb, F300, P50, P25, P10, C50, C10, presentation) VALUES ('$nomMembre', '$aujourdhui', '$newpass', '$nomsociete', '$rue', '$ville', '$canton', '$cp', '$presidentnom', '$presidentprenom', '$ruecourrier', '$villecourrier', '$cpcourrier', '$cantoncourrier', '$telephone', '$email', '$adresseweb', '$F300', '$P50', '$P25', '$P10', '$C50', '$C10', '$presentation')"; if (! mysql_query($sql)) {echo mysql_errno().":".mysql_error(); exit; } $auth="yes"; $nomUtilisateur = $nomMembre; //envoyer un email au nouveau membre $message = "un nouveau compte de membre vient d'être créé pour vous. ". "Votre nom d'utilisateur et votre mot de passe sont:". "\n\n\t$nomMembre\n\t$newpass\n\n". "Nous apprécions l'intérêt que nous portez à notre site. Si vous avez des questions à poser vous pouvez envoyer un e-mail à info@swiss-target.ch."; $entete="From:membres@swiss-target.ch\r\n"; $sujet = "Votre nouveau compte à Swiss-Target.ch"; $mailsend=mail("$email", "$sujet", "$message", "$entete"); // $nomLogin = $nomMembre; header ("Location: NouveauMembre.php"); } default: include("register.php"); } ?>
Mary
Partager