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

PHP & Base de données Discussion :

[Conception] Petit problème de code de confirmation.


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut [Conception] Petit problème de code de confirmation.
    Bonjour,
    Je suis en train de créer un site et j'ai un problème avec un script php.

    VOila, en fait tout fonctionne dans ce sript sauf quand il s'agit de "remplir" dans la base de donnees la "case" code_confirmation".
    J'ai beau chercher, mais je ne trouve pas..
    Voici le code :

    <?php
    require("config.inc.php");
    mysql_connect($host,$username,$password);
    mysql_select_db($bdd_name);


    //On vérifie que la variable $_POST['inscription'] existe
    if (isset($_POST['inscription']))
    {

    //On enleve le POST
    $nom = htmlspecialchars($_POST['nom']);
    $prenom = htmlspecialchars($_POST['prenom']);
    $login = htmlspecialchars($_POST['login']);
    $passe = htmlspecialchars($_POST['passe']);
    $parrain = htmlspecialchars($_POST['parrain']);
    $nom_perso = htmlspecialchars($_POST['nom_perso']);
    $age = $_POST['age'];

    //On vérifie que le pseudo et le mail n'existe pas.
    $sql = mysql_query("SELECT COUNT(*) AS nb_login FROM membres WHERE login='".$login."'");
    if (mysql_result($sql, 0, 'nb_login') == 0)
    {
    $sqlm = mysql_query("SELECT COUNT(*) AS nb_mail FROM membres WHERE mail='".$mail."'");
    if (mysql_result($sqlm, 0, 'nb_mail') == 0)
    {
    //Hashage du mot de passe avec md5().
    $mot_passe = md5($passe);
    //Code confirmation
    $lettres_chiffres = 'abcdefghijklmnopqrstuvwxyz0123456789';
    $lettres_chiffres_melanges = str_shuffle($lettres_chiffres);
    $code_confirmation = substr($lettres_chiffres_melanges, 1, 10);

    //Envoi du mail de confirmation.
    $message = '
    Bonjour,

    Vous venez de vous inscrire sur le site : HUMAN-HISTORY .
    Et nous vous en remercions !

    Il ne vous reste plus qu\'à activer votre compte en cliquant sur le lien ci-dessous:

    http://human.network-hosting.com/inscription3.php?code='.$code_confirmation.'&amp;login='.$login.'


    Voici un récapitulatif de vos identifiants :

    Login : '.$login.'
    Passe : '.$_POST['passe'].'

    A bientôt sur HUMAN-HISTORY

    ***********
    Ceci est un mail automatique envoyé par le serveur, suite à votre inscription. Si vous n\'avez pas demandé d\'inscription, merci de ne pas tenir compte de ce mail.
    ';
    //Si le mail a été envoyé on peut enregistrer le membre
    if (mail($mail, 'Confirmation de l\'inscription sur Human-History', $message))
    {
    //On éxécute la requête qui enregistre un nouveau membre.
    mysql_query("INSERT INTO membres (id, login, passe, mail, nom, prenom, age, parrain, confirmation,confirmation_code) VALUES ('', '".$login."', '".$mot_passe."', '".$mail."','".$nom."','".$prenom."','".$age."','".$parrain."','0','".$code_confirmation."')");

    $sqlv = mysql_query("SELECT COUNT(*) AS nb_loginv FROM membres WHERE login='".$login."'");
    if (mysql_result($sqlv, 0, 'nb_loginv') == 1)
    {
    header("location: accueil.php");
    }
    else
    {
    $alerte = "Vous n avez pas put etre inscrit dans notre dase de donnees. Reessayez et si ça ne fonctionne toujours pas, nous vous remercions de prévenir le webmaster.";
    }
    }
    else
    {
    $alerte = "Le mail n a pas put etre envoyé. Reessayez et si ça ne fonctionne toujours pas, nous vous remercions de prévenir le webmaster.";
    }
    }
    else
    {
    $alerte = "L adresse mail est deja utilisee";
    }
    }
    else
    {
    $alerte = "Le pseudo existe deja !";
    }
    }



    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="essai" href="css/normal.css" />
    <title>Human-History</title>
    <style type="text/css">
    </style></head>

    <body>
    <?php include "includes/menuhaut.html";?>
    <div id="infos">
    <div align="center" class="Style7">Bienvenu sur Human-History !Inscrivez-vous vite !</div>
    </div>
    <div id="inscrits"><img src="ressources/offline.png" alt="Inscrits :" width="30" height="18" /></div>
    <div id="connectes"> 15132 <img src="ressources/online.PNG" alt="Connect&eacute;s :" width="30" height="18" /></div>
    <?php include "includes/menu.html";?>
    <?php include "includes/pub.html";?>

    <div id="page">
    <?php echo $alerte ; ?>
    </div>
    </body>
    </html>
    Pouvez vous me dire pourquoi le code de confirmation ne s'inscrit pas dans le BDD ?
    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Pourrais tu utiliser la balise CODE s'il te plait...

    Sinon, es ce que les autres informations s'affichent dans ta base (nom, prenom,etc..) ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Par défaut
    Il se passe quoi exactement ? Tu as un message d'erreur ou seul ce champ reste vide ? Peux-tu nous donner le descriptif de ta table (avec en particulier le type des champs) ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE `membres` (
      `id` bigint(20) NOT NULL auto_increment,
      `login` varchar(20) NOT NULL,
      `passe` varchar(20) NOT NULL,
      `mail` varchar(255) NOT NULL,
      `nom` varchar(20) NOT NULL,
      `prenom` varchar(20) NOT NULL,
      `age` varchar(10) NOT NULL,
      `parrain` varchar(20) NOT NULL,
      `confirmation` smallint(6) NOT NULL default '0',
      `confirmation_code` bigint(20) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    C'était donc pour la table mysql.
    Et en fait, seul ce champ reste vide. Tout le reste se complete. Et je n'ai pas de message d'erreur.

  5. #5
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Tu essayes d'écrire des caractères dans un champs numerique (bigint)... Change de type de colonne en varchar et reessaye...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut
    Ah, oui j'y avait pas pensé mici

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

Discussions similaires

  1. [XL-2003] Petit problème de code
    Par jackall dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/07/2009, 11h24
  2. Petit problème avec code checkbox
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/04/2008, 16h01
  3. Un petit problème de conception du code
    Par diamonds dans le forum NetBeans
    Réponses: 2
    Dernier message: 27/02/2007, 16h40
  4. Petit problème de conception sur access
    Par coooookinette dans le forum Modélisation
    Réponses: 3
    Dernier message: 18/12/2005, 18h24
  5. Problème de code besoin d un petit depannage
    Par rakengoule dans le forum MFC
    Réponses: 3
    Dernier message: 10/10/2005, 16h25

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