Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2011, 10h06   #1
Invité régulier
 
Inscription : octobre 2008
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 125
Points : 9
Points : 9
Par défaut renvoi de pages

bonjour a tous ! voila mon probleme : je crée une page d'inscription pour mes membres voila mon code
Code php :
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
186
187
188
189
190
191
192
<?php
 
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_Membre"]))
{
     header("Location: index.php");
}
else
{
 
     // 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(!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(!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(!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="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" 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>
le souçi c'est quand je clique sur envoyer rien ne se passe et cela me renvoie a internet explorer ne peux pas ouvrir cette page ! j'aurai besoin d'aide svp
keurdeloup45 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 21/03/2011, 11h57   #2
Membre actif
 
Inscription : juin 2006
Messages : 545
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 545
Points : 174
Points : 174
Ouvre ta page, affiche la source et donne nous la ligne de la balise <form>
morgan47 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 12h25   #3
Invité régulier
 
Inscription : octobre 2008
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 125
Points : 9
Points : 9
voila la ligne
Code :
<form action="http://127.0.0.1/index.php" method="post">
merçi a toi !
keurdeloup45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 14h30   #4
Membre actif
 
Inscription : juin 2006
Messages : 545
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 545
Points : 174
Points : 174
essai ca :

Code :
1
2
 
<form action="index.php" method="post">
morgan47 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 14h35   #5
Invité régulier
 
Inscription : octobre 2008
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 125
Points : 9
Points : 9
j'ai éssayé comme tu m'a dis mais ça fonctionne toujours pas je comprend pas
keurdeloup45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 15h13   #6
Membre actif
 
Inscription : juin 2006
Messages : 545
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 545
Points : 174
Points : 174
ca te dit quoi ? ca t'affiche une page blanche?
morgan47 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 15h26   #7
Invité régulier
 
Inscription : octobre 2008
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 125
Points : 9
Points : 9
alors la ça me donne plusieurs erreur de type
Citation:
Deprecated: Function ereg() is deprecated in C:\Program Files\EasyPHP-5.3.5.0\www\index.php on line 12
Citation:
Notice: Undefined index: TB_confirm_M_D_P in C:\Program Files\EasyPHP-5.3.5.0\www\index.php on line 21
Citation:
Warning: mysql_close(): no MySQL-Link resource supplied in C:\Program Files\EasyPHP-5.3.5.0\www\index.php on line 150
keurdeloup45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 19h51   #8
Membre actif
 
Inscription : juin 2006
Messages : 545
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 545
Points : 174
Points : 174
remplace ereg par preg_replace().

La notice c'est que ta variable post n'existe pas je crois.

Puis il n'y a aucune connection à la base

essai de faire un print_r($_POST);
morgan47 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 10h16   #9
Invité régulier
 
Inscription : octobre 2008
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 125
Points : 9
Points : 9
je te remerci mais j'ai trouvé , fallais mettre mg_ devant ereg ! merçi a toi !
keurdeloup45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h21.


 
 
 
 
Partenaires

Hébergement Web