Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 13/08/2007, 15h29   #1
Invité de passage
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 2
Points : 2
Par défaut Problème enregistrement d'inscription

Bonjour, j'ai un formulaire d'inscription sur mon site, et lorsqu'on s'inscrit, il dit que l'on est bien enregistré, mais.........ce n'ai pas le cas, aucun enregistrement dans la base, voici mon script:
Code :
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
<?
require "conf.php"; //On insert le fichier qui contient les informations de la BDD
 
mysql_connect("$sql_serveur","$sql_login","$sql_pass");
mysql_select_db("$sql_bdd"); //On ce connecte
$mail = htmlentities($_POST['mail']);
 
if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) //Verifie que l'email entrée n'est pas une fausse.
{
$chaine = "abcdefghijklmnopqrstuvwxyz0123456789"; 
$confirm = str_shuffle($chaine); //On créé le code de confirmation
$pseudo = htmlentities($_POST['pseudo']); //On recupère les infos
 
$mdp = htmlentities($_POST['mdp']);
$verif_mdp = htmlentities($_POST['verif_mdp']);
$argent = htmlentities($_POST['argent']);
$nom_chaine = htmlentities($_POST['nom_chaine']);
$news = htmlentities($_POST['news']);
 
/*On Fait la variable contenant le mail de confirmation*/
 
$message1 = '<html><body>Bonjour ' . $pseudo . ' et bienvenue sur Mon Hôtel Virtuel.</br>'; 
$message1 .= '</br>';
$message1 .= 'Vous venez de vous inscrire et nous sommes heureux<br>de pouvoir vous compter aujourd\'hui parmi nos membres.<br>'; 
$message1 .= 'Voici un rappel de vos identifiants, notez les précieusement : <br>';
$message1 .= 'Votre Pseudo : ' . $pseudo .'.<br>';
$message1 .= 'Votre Mot de passe: ' . $mdp .'.<br><br>';
$message1 .= 'Votre Mail: ' . $mail .'.<br><br>';
$message1 .= 'Nom de votre chaîne: ' . $nom_chaine .'.<br><br>';
$message1 .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre à jour.<br>';
$message1 .= 'Votre Clé d\'activation: (Si vous ne pouvez pas cliquer sur le lien ci-dessous, faites un copier/coller dans votre naviguateur)<br>';
$message1 .= 'http://www.mon-hotel-virtuel.com/confirm.php?login=' . str_replace(' ','%20',$pseudo) . '&confirm=' . $confirm . '<br><br>';
$message1 .= 'A très bientôt sur le site!<br>L\'équipe de Mon Hôtel Virtuel.<br><a href="http://www.mon-hotel-virtuel.com">MON HÔTEL VIRTUEL</a>';
 
$verification = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE pseudo='$pseudo'") or die (mysql_error());
$donnees = mysql_fetch_array($verification)or die (mysql_error());
 
if($donnees['COUNT(*)'] >= 1) //On verifie que le pseudo n'existe pas déjà
{ 
$reponse = 'Ce pseudo est déjà utilisé, merci d\'en choisir un nouveau. <a href="javascript:history.back(1)">Retour au formulaire</a>';
}
else
{	
$verification2 = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE mail='$mail'") or die (mysql_error());
$donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
 
                                                			if($donnees2['COUNT(*)'] >= 1) //Pareil pour l'e-mail
{
$reponse = 'Cette adresse e-mail est déjà utilisé, veuillez en choisir une autre. <a href="javascript:history.back(1)">Retour au formulaire</a>';
}
else
{	
$verification3 = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE nom_chaine='$nom_chaine'") or die (mysql_error());
$donnees3 = mysql_fetch_array($verification3)or die (mysql_error());
 
                                                			if($donnees3['COUNT(*)'] >= 1) //Pareil pour le nom de la chaine
{
$reponse = 'Une entreprise porte déjà ce nom là, veuillez en choisir un autre. <a href="javascript:history.back(1)">Retour au formulaire</a>';
}
elseif( empty($pseudo) || empty($mdp) || empty($verif_mdp) || empty($mail) || empty($nom_chaine)) //On verifie que les variables précédentes ne soient pas vide
{
$reponse = 'Un ou plusieurs champs ne sont pas remplis, <a href="javascript:history.back(1)">Retour au formulaire</a>';
}
elseif( $mdp != $verif_mdp) //On verifie que les 2 pass sont identiques
{
$reponse = 'Les mots de passe ne sont pas identiques, <a href="javascript:history.back(1)">Retour au formulaire</a>';
}
else //Si tout est bon on entre les données dans la BDD et on envoye le mail
{
                                                				mysql_query("INSERT INTO pdf_membre VALUES ('','$pseudo', pass='$mdp', '$mail', '$confirm', '$argent', '$nom_chaine', '$news')");
$reponse = 'Bravo, vous êtes maintenant inscrit sur Mon Hôtel Virtuel. <br>Vous allez recevoir un e-mail pour activer votre compte. <br><a href="index.php">Retour à l\'Accueil</a>';
$email_admin = 'webmaster@reseau-games.com'; //Votre adresse mail
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$email_admin>\r\n";
$entete .= "Reply-To: $email_admin\r\n";
                                                				mail($mail,'Bienvenue sur Mon Hôtel Virtuel ' . $login .'.' , $message1, "$entete");
}
}
}
}
else //Reponse si l'adresse e-mail est une fausse
{
$reponse = 'Votre adresse e-mail "' . $mail . '" n\'est pas correcte. <a href="javascript:history.back(1)">Retour au formulaire</a>';
} 	
 
?>
Merci de votre aide

PS: Ce n'ai pas à cause du javascript, car j'ai exactement le même script sur un autre site, et mon espace membre marche impecable, seulement, là, j'ai ajouté, et retiré des champs, je pense que j'ai fait quelque chose qui ne fallais pas, mais je ne voit pas mon erreur

Merci d'avance
benjam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 15h35   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Bonjour

je pense que tu dois avoir un problème au niveau de l'insertion du mot de passe pass='$mdp'. Le pass= me parait être en trop

Je te conseille de plus de décomposer ta requête en faisant d'une part l'écriture et d'autre part l'envoi, en utilisant le renvoi d'erreur mysql_error()

Code :
1
2
$rq = "INSERT INTO pdf_membre VALUES ('','$pseudo', '$mdp', '$mail', '$confirm', '$argent', '$nom_chaine', '$news')";
mysql_query($rq) or die ('erreur sur '.$rq.'<br/> '.mysql_error());
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 16h00   #3
Invité de passage
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 2
Points : 2
merci de ta réponse, mais sa ne fonctionne toujours pas
benjam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 16h07   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
est-ce que tu reçois un message d'erreur ? quelque chose ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 16h11   #5
Invité de passage
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 2
Points : 2
Ben non, justement, je vois la phrase qui me dit que je suis bien inscrit
benjam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 16h24   #6
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Citation:
Envoyé par benjam89
Ben non, justement, je vois la phrase qui me dit que je suis bien inscrit
Et rien dans la base de données ? bizarre
Fais un echo de ta requête, histoire de voir ce que tu insères... Et normalement dans un insert si tu ne précises pas les champs, il faut insérer des valeurs dans tous les champs et dans l'ordre. C'est bien ce que tu fais ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 16h41   #7
Invité de passage
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 2
Points : 2
Oui, c'est sa, je l'ai fait, et donc je ne comprend pas, mais bon, je vais essayer l'echo
benjam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 16h49   #8
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Tu pourrais donner ton code mis a jour aussi s'il te plait?
Si le "or die(...)" n'est pas présent ou mal placé tu ne detectes pas l'erreur et affiche bien "vous etes inscrits" alors que ca n'est pas le cas.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 18h42   #9
Invité de passage
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 2
Points : 2
Merci, mais c'est bon j'ai trouvé, par contre maintenant, c'est l'email, l'email de confirmation ne s'envoi pas, et il faut qu'il s'envoi pour que le membre puisse confirmer son inscription
benjam89 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 04h30.


 
 
 
 
Partenaires

Hébergement Web