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 :

Afficher une erreur si un champ est rempli [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut Afficher une erreur si un champ est rempli
    Salut,
    j'ai ce code :
    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
    <?php
     
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
        if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
     
            $base = mysql_connect ('', '', ''); 
            mysql_select_db ('recherche', $base);
     
            // on teste si une entrée de la base contient ce couple login / pass
            $sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
            $data = mysql_fetch_array($req);
     
            mysql_free_result($req);
            mysql_close();
     
            // si on obtient une réponse, alors l'utilisateur est un membre
            if ($data[0] == 1) {
                session_start();
                $_SESSION['login'] = $_POST['login'];
                header('Location: membre.php');
                exit();
            }
     
     
    // si on ne trouve aucune réponse, le visiteru s'est trompé soit dans son login, soit dans son mot de passe
            elseif ($data[0] == 0) {
                $erreur = 'Compte non reconnu.';
            }
            // sinon, alors la, il y a un gros problème :)
            else {
                $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
            }
        }
        else {
            $erreur = 'Au moins un des champs est vide.';
        }
    }
    ?>
    Qui vérifie donc les champs ont bien été rempli et s'il est bien dans la base de donnée (pour un espace membre).
    Je voudrais rajouter un truc, j'ai mis lors de l'inscription un champ 'confirm' avec un clé d'activation du compte. Jusque là tout va bien, mais dans le code ci-dessous, je voudrais qu'il vérifie dans la bdd par rapport au mot de passe et pseudo en POST si le champ confirm est vide, s'il est vide, ok, sinon, message d'erreur :
    $erreur = 'Compte non activé!'

    Merci de m'aider.
    KevinF

  2. #2
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Personne?
    KevinF

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ben de manière simple :
    1. Tu réalises une requête avec l'id du membre qui récupère les champs dont activé.
    2. Une fois que c'est fait tu testes que le champ activé, s'il est à 0 (pas activé) alors tu affiches le message sinon tu traites avec les autres données du compte du membre.

  4. #4
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Je ne voit pas comment faire...
    KevinF

  5. #5
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    J'ai réussi merci de tes conseils.
    KevinF

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

Discussions similaires

  1. Pb pour afficher une image dont le lien est un champ d'une table
    Par h4milton dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 25/05/2007, 13h23
  2. Réponses: 5
    Dernier message: 10/05/2006, 21h39
  3. [MySQL] Afficher une image d'un champ blob d'une base MySQL
    Par lolobedo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/11/2005, 10h10
  4. [MySQL] Afficher une requête dans un champ texte
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/11/2005, 10h07
  5. Réponses: 12
    Dernier message: 27/10/2005, 13h06

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