bonjour . voila mon souçi je crée un espace membre pour mon site j'ai deux pages pour l'instant : INDEX.PHP et ACTIVER_COMPTE.PHP les voila INDEX.PHP
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<?php
{
 
     // Formulaire visible par défaut
     $masquer_formulaire = false;
 
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"] ))
     {
 
          // Vérification de la validité des champs
          if(!mb_ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_pseudo"]))
          {
               $message = "Votre pseudo doit comporter entre 4 et 20 caractères<br />\n";
               $message .= "L'utilisation de l'underscore est autorisée";
          }
          elseif(!mb_ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_M_D_P"]))
          {
               $message = "Votre mot de passe doit comporter au moins 4 caractères";
          }
          elseif($_POST["TB_M_D_P"] != $_POST["TB_confirm_M_D_P"])
          {
               $message = "Votre mot de passe n'a pas été correctement confirmé";
          }
          elseif(!mb_ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
               $_POST["TB_Email"]))
          {
               $message = "Votre adresse e-mail n'est pas valide";
          }
          else
          {
 
               // Connexion à la base de données
               // Valeurs à modifier selon vos paramètres configuration
               mysql_connect("127.0.0.1", "root", "");
               mysql_select_db("rencontre");
 
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
               $result = mysql_query("
                    SELECT pseudo
                         , Email
                    FROM membres
                    WHERE pseudo = '" . $_POST["TB_pseudo"] . "'
                    OR Email = '" . $_POST["TB_Email"] . "'
               ");
 
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
               else
               {
 
                    // Si un enregistrement est trouvé
                    if(mysql_num_rows($result) > 0)
                    {
 
                         while($row = mysql_fetch_array($result))
                         {
 
                              if($_POST["TB_pseudo"] == $row["pseudo"])
                              {
                                   $message = "Le pseudo " . $_POST["TB_pseudo"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Email"] == $row["Email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_Email"];
                                   $message .= "est déjà utilisée";
                              }
 
                         }
 
                    }
                    else
                    {
 
                         // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activ = "";
 
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activ .= $caracteres[$i];
                         }
 
                         // Création du compte utilisateur
                         $result = mysql_query("
                              INSERT INTO membres(
                                   pseudo
                                   , M_D_P
                                   , Email
                                   , dt_inscri
                                   , clef_activ
                              )
                              VALUES(
                                   '" . $_POST["TB_pseudo"] . "'
                                   , '" . md5($_POST["TB_M_D_P"]) . "'
                                   , '" . $_POST["TB_Email"] . "'
                                   , '" . time() . "'
                                   , '" . $clef_activ . "'
                              )
                         ");
 
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte";
                         }
                         else
                         {
 
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte";
 
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . $_SERVER["SERVER_NAME"];
                              $message .= "/activer-compte.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activ;
 
                              // Si une erreur survient
                              if(!@mail($_POST["TB_Email"], $sujet, $message))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation<br />\n";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
 
                                   // Message de confirmation
                                   $message = "Votre compte  a correctement été créer<br />\n";
                                   $message .= "Un email vient de vous être envoyer afin de l'activer";
 
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
 
                              }
 
                         }
 
                    }
 
               }
 
          }
 
          // Fermeture de la connexion à la base de données
          mysql_close();
 
     }
 
}
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>accueil</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
   </head>
   <body>
    <DIV id="en_tete"><DIV ALIGN="CENTER"><H1>Bienvenue</H1></DIV></DIV>
	<DIV id="menu">hello</DIV>
	<DIV id="corps"><?php if(isset($message)) { ?>
       <p><?php echo $message; ?></p>
       <?php } if($masquer_formulaire != true) { ?>
       <form action="index.php" method="post">
	   <fieldset>
       <legend>Inscription</legend>
	    <label for="pseudo">Votre pseudo</label><BR>
		<input type="text" name="TB_pseudo"/><BR>
		<label for="M_D_P">Votre mot de passe</label><BR>
		<input type="password" name="TB_M_D_P"/><BR>
		<label for="confirm_M_D_P">Confirmation du mot de passe</label><BR>
		<input type="password" name="TB_confirm_M_D_P"/><BR>
		<label for="Email">Votre adresse email</label><BR>
		<input type="text" name="TB_Email"/><BR>
	   </fieldset><BR>
		<input type="submit" name="BT_Envoyer" value="Envoyer" /> <input type="reset" /></form>
	<DIV><?php } ?>
   </body>
</html>
et celui de ma page ACTIVER_COMPTE.PHP
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
<?php
{
 
     // Vérifie que de bonnes valeurs sont passées en paramètres
     if(!mg_ereg("^[0-9]+$", $_GET["id"]) || !mg_ereg("^[a-f0-9]{8}$", strtolower($_GET["clef"])))
     {
          header("Location: index.php");
     }
     else
     {
 
          // Connexion à la base de données
          // Valeurs à modifier selon vos paramètres configuration
          mysql_connect("127.0.0.1", "root", "");
          mysql_select_db("rencontre");
 
          // Sélection de l'utilisateur concerné
          $result = mysql_query("
               SELECT ID_Membre
                    , compte_Actif
                    , clef_activ
               FROM membres
               WHERE ID_Membre = '" . $_GET["id"] . "'
               AND clef_activ = '" . strtolower($_GET["clef"]) . "'
          ");
 
          // Si une erreur survient
          if(!$result)
          {
               $message = "Une erreur est survenue lors de l'activation de votre compte utilisateur";
          }
          else
          {
 
               // Si aucun enregistrement n'est trouvé
               if(mysql_num_rows($result) == 0)
               {
                    header("Location: index.php");
               }
               else
               {
 
                    // Récupération du tableau de données retourné
                    $row = mysql_fetch_array($result);
 
                    // Vérification que le compte ne soit pas déjà activé
                    if($row["compte_actif"] != 0)
                    {
                         $message = "Votre compte  a déjà été activé";
                    }
                    else
                    {
 
                         // Activation du compte 
                         $result = mysql_query("
                              UPDATE membres
                              SET compte_Actif = '1'
                              WHERE ID_Membre = '" . $_GET["id"] . "'
                              AND clef_activ = '" . strtolower($_GET["clef"]) . "'
                         ");
 
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Une erreur est survenue lors de l'activation de votre compte";
                         }
                         else
                         {
                              $message = "Votre compte a correctement été activé";
                         }
 
                    }
 
               }
 
          }
 
          // Fermeture de la connexion à la base de données
          mysql_close();
 
     }
 
}
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>accueil</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
   </head>
   <body>
    <DIV id="en_tete"><DIV ALIGN="CENTER"><H1>Bienvenue</H1></DIV></DIV>
	<DIV id="menu">hello</DIV>
	<DIV id="corps"><?php echo $message; ?>
	<DIV>
   </body>
</html>
apparemment je n'ai pas d'erreur de sintaxe mais quand on s'inscris ça me met
Une erreur est survenue lors de l'envoi du mail d'activation
Veuillez contacter l'administrateur afin d'activer votre compte
j'ai beau chercher je n'y comprend rien ? pourriez vous m'aider SVP ?