IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème enregistrement d'inscription


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 17
    Points
    17
    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 : 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
    <?
    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

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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());

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    merci de ta réponse, mais sa ne fonctionne toujours pas

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    est-ce que tu reçois un message d'erreur ? quelque chose ?

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    Ben non, justement, je vois la phrase qui me dit que je suis bien inscrit

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    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 ?

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    Oui, c'est sa, je l'ai fait, et donc je ne comprend pas, mais bon, je vais essayer l'echo

  8. #8
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    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.

  9. #9
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Problème] Enregistrement des caractères "é" etc.
    Par devoc dans le forum Administration
    Réponses: 4
    Dernier message: 18/04/2007, 20h08
  2. Problème procédure d'inscription
    Par Houbbba dans le forum Struts 1
    Réponses: 6
    Dernier message: 12/04/2007, 13h12
  3. [VBA] Problème enregistrement mise en forme fichier word
    Par guenfood dans le forum VBA Word
    Réponses: 1
    Dernier message: 07/06/2006, 15h10
  4. [VB6] Problème enregistrement playlist wmp
    Par splouf dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 11/04/2006, 15h26
  5. [W3C] Type MIME, problème "enregistrer sous"
    Par spikelille dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/01/2006, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo