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 avec les conditions, lors de l'identification [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    au
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : au
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Points : 52
    Points
    52
    Par défaut Problème avec les conditions, lors de l'identification
    Bonsoir à tous,

    Voilà j'ai un problème avec les conditions le problème c'est que j'ai une page index.html et une page login.php le problème c'est que à chaque fois que je met rien dans le formulair qu'il y a dans index.html pour se connecter il me dit que c'est connecté, et pourtant j'ai mit cette condition >>>>>> if ((isset($_POST['username']) && isset($_POST['password'])))

    et même si je remplie qu'une seule case il me dit que c'est connecté.
    voici le code login.php >>>>

    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
     
    <?php
    session_start (); 
    include('config.php');
    $pseudo=$_POST['username'];
    $pass=$_POST['password'];
     
    $connection = @mysql_connect($hote,$user,$passe) //connexion à PHPmyadmin
    or die("erreur de connexion au serveur $host"); // affichage d'une message d'erreur si impossible de se connecter
     
    mysql_select_db($db, $connection) //connexion à la base de donnée
    or die ("<b>Erreur de connexion a la base de donnee $db</b>"); //affichage d'un message d'erreur si impossible de se connecter
     
    $sql = "SELECT pseudo FROM admin WHERE pseudo = '".$pseudo."' ";
     
    $req = mysql_query($sql);
          if($sql){
     
             // On sélectionne toute les données de l'utilisateur dans la base de données.   
             $sql = "SELECT * FROM admin WHERE pseudo = '".$pseudo."' ";
     
             $req = mysql_query($sql);
     
             // Si la requête SQL c'est bien passé...      
             if($sql){
     
                // On récupère toute les données de l'utilisateur dans la base de données.
                $donnees = mysql_fetch_assoc($req);
    			}
     
        // on teste si nos variables sont définies
        if ((isset($_POST['username']) && isset($_POST['password']))) { 
     
              // on vérifie les informations du formulaire, à savoir si le pseudo saisi est bien un pseudo autorisé, de même pour le mot de passe
               if($pass == $donnees["password"]){
                    // dans ce cas, tout est ok, on peut démarrer notre session
     
                    // on la démarre :)
     
                    // on enregistre les paramètres de notre visiteur comme variables de session ($login et $pwd) (notez bien que l'on utilise pas le $ pour enregistrer ces variables)
                    $_SESSION['login'] = $pseudo; 
                    $_SESSION['pass'] = $pass;
    				$_SESSION['id'] = $donnees['id'];
                 echo '<body onLoad="alert(\'Soyez le bienvenu\')">'; 
                 // puis on le redirige vers la page d'accueil
                 echo '<meta http-equiv="refresh" content="0;URL=upload.php">'; 				
              } 
              else { 
                 // Le visiteur n'a pas été reconnu comme étant membre de notre site. On utilise alors un petit javascript lui signalant ce fait
                 echo '<body onLoad="alert(\'Membre non reconnu...\')">'; 
                 // puis on le redirige vers la page d'accueil
                 echo '<meta http-equiv="refresh" content="0;URL=index.php">'; 
              }  
        }  
        else { 
              echo 'Les variables du formulaire ne sont pas déclarées.';  
        }
    } 	
        ?>


    sachez que j'ai testé sur 2 serveur local (Xampp 1.7.7 et EasyPHP 5.3.8.1)
    Merci à vous tous.

  2. #2
    Membre du Club
    Homme Profil pro
    au
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : au
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Points : 52
    Points
    52
    Par défaut
    j'ai trouvé ou est le problème au lieu de mettre !empty j'ai mit isset
    j'ai cru que ISSET ET !EMPTY ont la même fonction.

    Merci en tout les cas.

  3. #3
    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
    Non, !empy et isset ne renvoient pas la même chose. Isset vérifie si la variable existe et empty si il ya a quelque chose dedans.
    Ce qui suit est considéré comme étant vide par empty:
    • "" (une chaîne vide)
    • 0 (0 en tant qu'entier)
    • 0.0 (0 en tant que nombre à virgule flottante)
    • "0" (0 en tant que chaîne de caractères)
    • NULL
    • FALSE
    • array() (un tableau vide)
    • var $var; (une variable déclarée, mais sans valeur dans une classe)
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $var = "";
    isset($var)  // retourne true car $var est définie
    !empty($var) // retourne false car "" est considéré comme vide

  4. #4
    Membre du Club
    Homme Profil pro
    au
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : au
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Points : 52
    Points
    52
    Par défaut
    Merci Celira, c'est après avoir corrigé ma faute que j'ai compris la différence entre ISSET et EMPTY, merci encore de votre aide

  5. #5
    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
    donc ?

  6. #6
    Membre du Club
    Homme Profil pro
    au
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : au
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Points : 52
    Points
    52
    Par défaut
    ahhh oui c'est résolu, désolé j'ai pas vue le bouton résolu ! et je vois que c'est déjà fait un modo a déjà cliqué dessus. merci encore.

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

Discussions similaires

  1. [MySQL] Problème avec les accent lors d'une recherche dans ma base de donnée
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/06/2009, 14h08
  2. Réponses: 0
    Dernier message: 12/05/2009, 10h18
  3. Réponses: 0
    Dernier message: 25/01/2008, 09h36
  4. Problème avec les conditions ''sous-ensemble d'un tableau''
    Par djangossoul dans le forum LabVIEW
    Réponses: 2
    Dernier message: 07/06/2007, 12h23
  5. Réponses: 1
    Dernier message: 09/08/2006, 17h05

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