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 :

rajouter un champ [Débutant(e)]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1
    Par défaut rajouter un champ
    bonjour,
    je débute dans ce domaine (php et mysql)
    pour qu'un membre s'inscrive, j'ai trouvé un script qui fonctionne bien,
    après validation par email le champ actif passe bien de 0 à 1.
    je voudrais quand le membre se connecte, après avoir vérifié son email et son mot de passe, vérifier qu'il c'est bien validé (actif = 1), dans ce cas il peut continuer, sinon un message lui demande de confirmer en cliquant sur le lien du message qu'il a reçu.
    Je ne sais pas intégrer cette fonction de vérification du champ actif dans ce script qui fonctionne bien sauf la validation de "actif":
    merci pour votre aide


    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
    <?php
     
    define('DB_SERVER', 'localhost'); // serveur mysql
    define('DB_SERVER_USERNAME', '#'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', '#); // mot de passe
    define('DB_DATABASE', '#'); // nom de la base
     
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
    DB_SERVER_PASSWORD)
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
     
             // Indique Ã* mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1)
             mysql_query("SET NAMES 'utf8'");
     
             // Préparation des données pour les requêtes Ã* l'aide de la fonction mysql_real_escape_string
             $email = mysql_real_escape_string($email);
             $password = mysql_real_escape_string($pass);
     
               /* Requête pour récupérer les enregistrements répondant Ã* la clause : 
             champ du pseudo et champ du mdp de la table = pseudo et mdp postés dans le formulaire*/
            $requete = "SELECT * FROM membres WHERE email = '".$email."' AND pass = '".$pass."' ";
     
     
             // Exécution de la requête
             $req_exec = mysql_query($requete) or die(mysql_error());
     
             // Création du tableau associatif du résultat
             $resultat = mysql_fetch_assoc($req_exec); 
     
             // Les valeurs (si elles existent) sont retournées dans le tableau $resultat; 
             if (isset($resultat['email'],$resultat['pass']))
     
                  {
                     /* Démarre la session et enregistre le pseudo dans la variable de session $_SESSION['login']
                     qui donne au visiteur la possibilité de visiter les pages protégées.  */
                     session_start();
     
     
                     $_SESSION['login'] = $email;
     
     
                     // A MODIFIER Remplacer le '#' par l'adresse de votre page de destination, sinon ce lien indique la page actuelle.
                     $message = 'Bonjour '.htmlspecialchars($_SESSION['login']). ' <a href = "login_membre_ok.php">Cliquez ici pour accéder Ã* vos évaluations</a>';
                    }
                    else
                    {   // Le pseudo ou le mot de passe sont incorrect
                    $message = 'Votre email ou le mot de passe sont incorrects';
                    } 
        			}
       				 else 
       				 {  //au moins un des deux champs "pseudo" ou "mot de passe" n'a pas été rempli
        			$message = 'Les champs email et mot de passe doivent être remplis.';
        			}
    			}
    ?>

  2. #2
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Bonsoir,

    Dans le code actuel, tu as une erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define('DB_SERVER_PASSWORD', '#); // mot de passe
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define('DB_SERVER_PASSWORD', '#'); // mot de passe
    Ensuite, l'affaire est assez simple.

    Une fois que ton user est identifié, tu fais une requête ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM MEMBRES
    WHERE MEMBRES.email = $email 
    AND MEMBRE.active = 1
    Si un mysql_num_rows() te retourne 1, c'est que ton user a validé son message, tu affiches la page de réussite de login.
    S'il retourne 0, c'est qu'il n'a pas validé donc tu affiches un message lui demandant de le faire.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

Discussions similaires

  1. rajouter un champ alimenté
    Par sam01 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/08/2007, 12h01
  2. rajouter un champs dans une table existante
    Par pierre2410 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/07/2007, 16h55
  3. [formulaire] rajouter un champs
    Par tarmin dans le forum IHM
    Réponses: 6
    Dernier message: 06/10/2006, 10h49
  4. impossible de rajouter des champs!!
    Par pierrot67 dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/07/2006, 19h55
  5. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09

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