Bonjour,
j'ai un (des) souci(s) avec mon code,
lorsque j'entre un mail dans mon formulaire d'inscription (code n°1) j'ai bien le message comme quoi l'adresse mail est déjà utilisée mais ça s'inscrit quand même dans la table Mysql, idem pour le mot de passe, j'ai bien le message qui me dit que les 2 mots de passe ne sont pas identique mais ça s'inscrit aussi dans la table ... le but est justement de ne pas inscrire la personne si les 2 mots de passe ne correspondent pas ou si l'email est déjà utilisé.
Par contre le message "Inscription prise correctement en compte" ne s'affiche pas quand "j'inscris" un utilisateur sauf dans le code 2.
Dans le code n°2, par contre là aucun message ne s'affiche (ni "Les mots de passe ne sont pas identiques" et ni "Cette adresse email est déjà utilisée") sauf ici "Inscription prise correctement en compte" mais tout s'enregistre quand même dans la table que les email sont identiques ou pas et même si les 2 mots de passe ne correspondent pas. Dans le code 2 j'ai rajouté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
header('location: index.php?success=1');
après l'envoi de la requête dans la db et c'est ça qui pose problème mais là je sèche.

Voici le code 1 avec le message ("Les mots de passe ne sont pas identiques" et "Cette adresse email est déja utilisée")

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
<?php
 
require('src/connection.php');
 
 
if (!empty($_POST['pseudo']) && !empty($_POST['email']) && !empty($_POST['password']) && !empty($_POST['password_confirm']))
	{
 
 
 
 
	$pseudo 			= $_POST['pseudo'];
	$email 				= $_POST['email'];	
	$password 			= $_POST['password'];	
	$password_confirm 	= $_POST['password_confirm'];	
 
 
 
 
 
	if($password != $password_confirm){
		header('location: index.php?error=1&pass=1');
	}
 
 
	$req = $db->prepare("SELECT count(*) as numberEmail FROM users WHERE email = ?");
 
	$req->execute(array($email));
 
	while($email_verification = $req->fetch()){
		if($email_verification['numberEmail'] != 0){
			header('location: index.php?error=1&email=1');
	}	
	}
 
 
 
	$secret = sha1($email).time(); 
	$secret = sha1($secret).time() .time();
 
 
	$password = "aq1" .sha1($password."7962629")."25";	
 
 
	$req = $db->prepare("INSERT INTO users(pseudo, email, password, secret) VALUES (?, ?, ?, ?)");
	$req->execute(array($pseudo, $email, $password, $secret));
 
 
 
	}
 
?>
 
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>TEST</title>
	<link rel="stylesheet" type="text/css" href="design/default.css">
</head>
<body>
	<header>
		<h1>INSCRIPTION</h1>
	</header>
 
	<div class="container"> 
	<p id="info"> 
			Bienvenue 
			<a href="connection.php">Connectez-vous</a>
	 </p>
 
 
 
	<?php
 
			if(isset($_GET['error'])){
 
			if (isset($_GET['pass'])) {
				echo '<p id="error">Les mots de passe ne sont pas identiques.</p>';
			}
 
			else if (isset($_GET['email'])) {
				echo '<p id="error">Cette adresse email est déja utilisée.</p>';
 
 
		}
 
 
		}
			else if (isset($_GET['success'])) {
				echo '<p id="success">Inscription prise correctement en compte.</p>';	
 
		}			
 
 
 
 
	?>
 
 
 
	 <div id="form"> 
	<form method="post" action="index.php">
		<table>
			<tr>
				<td>Pseudo</td>
				<td><input type="text" name="pseudo" placeholder="Ex: Nicolas" required></td>
			</tr>
			<tr>
				<td>Email</td>
				<td><input type="email" name="email" placeholder="exemple@google.com" required></td>
			</tr>
			<tr>
				<td>Mot de passe</td>
				<td><input type="password" name="password" placeholder="Ex: ********" required></td>
			</tr>
			<tr>
				<td>Retaper le mot de passe</td>
				<td><input type="password" name="password_confirm" placeholder="Ex: ********" required></td>
			</tr>
		</table>
		<div id="button"> 
			<button>Inscription</button>
		</div>
	</form>	
	</div>
 
	</div>
 
 
</body>
</html>

Voici le code n°2 avec que le message "Inscription prise correctement en compte" qui s'affiche lors de l'inscription d'un utilisateur sans les 2 messages d'erreur mot de passe et email.
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
<?php
 
require('src/connection.php');
 
 
if (!empty($_POST['pseudo']) && !empty($_POST['email']) && !empty($_POST['password']) && !empty($_POST['password_confirm']))
	{
 
 
 
 
	$pseudo 			= $_POST['pseudo'];
	$email 				= $_POST['email'];	
	$password 			= $_POST['password'];	
	$password_confirm 	= $_POST['password_confirm'];	
 
 
 
 
 
	if($password != $password_confirm){
		header('location: index.php?error=1&pass=1');
	}
 
 
	$req = $db->prepare("SELECT count(*) as numberEmail FROM users WHERE email = ?");
 
	$req->execute(array($email));
 
	while($email_verification = $req->fetch()){
		if($email_verification['numberEmail'] != 0){
			header('location: index.php?error=1&email=1');
	}	
	}
 
 
 
	$secret = sha1($email).time(); 
	$secret = sha1($secret).time() .time();
 
 
	$password = "aq1" .sha1($password."7962629")."25";	
 
 
	$req = $db->prepare("INSERT INTO users(pseudo, email, password, secret) VALUES (?, ?, ?, ?)");
	$req->execute(array($pseudo, $email, $password, $secret));
 
 
	header('location: index.php?success=1'); // Le problème vient il d'ici ?
 
 
 
	}
 
?>
 
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>TEST</title>
	<link rel="stylesheet" type="text/css" href="design/default.css">
</head>
<body>
	<header>
		<h1>INSCRIPTION</h1>
	</header>
 
	<div class="container"> 
	<p id="info"> 
			Bienvenue 
			<a href="connection.php">Connectez-vous</a>
	 </p>
 
 
 
	<?php
 
			if(isset($_GET['error'])){
 
			if (isset($_GET['pass'])) {
				echo '<p id="error">Les mots de passe ne sont pas identiques.</p>';
			}
 
			else if (isset($_GET['email'])) {
				echo '<p id="error">Cette adresse email est déja utilisée.</p>';
 
 
		}
 
 
		}
			else if (isset($_GET['success'])) {
				echo '<p id="success">Inscription prise correctement en compte.</p>';	
 
		}			
 
 
 
 
	?>
 
 
 
	 <div id="form"> 
	<form method="post" action="index.php">
		<table>
			<tr>
				<td>Pseudo</td>
				<td><input type="text" name="pseudo" placeholder="Ex: Nicolas" required></td>
			</tr>
			<tr>
				<td>Email</td>
				<td><input type="email" name="email" placeholder="exemple@google.com" required></td>
			</tr>
			<tr>
				<td>Mot de passe</td>
				<td><input type="password" name="password" placeholder="Ex: ********" required></td>
			</tr>
			<tr>
				<td>Retaper le mot de passe</td>
				<td><input type="password" name="password_confirm" placeholder="Ex: ********" required></td>
			</tr>
		</table>
		<div id="button"> 
			<button>Inscription</button>
		</div>
	</form>	
	</div>
 
	</div>
 
 
</body>
</html>