Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/01/2012, 23h05   #1
Membre du Club
 
Homme
Webmaster
Inscription : mars 2011
Messages : 36
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : mars 2011
Messages : 36
Points : 45
Points : 45
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 :
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.
Devildz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 23h31   #2
Membre du Club
 
Homme
Webmaster
Inscription : mars 2011
Messages : 36
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : mars 2011
Messages : 36
Points : 45
Points : 45
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.
Devildz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 10h57   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 678
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 678
Points : 5 422
Points : 5 422
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.
Citation:
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 :
1
2
3
$var = "";
isset($var)  // retourne true car $var est définie
!empty($var) // retourne false car "" est considéré comme vide
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 21h24   #4
Membre du Club
 
Homme
Webmaster
Inscription : mars 2011
Messages : 36
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : mars 2011
Messages : 36
Points : 45
Points : 45
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
Devildz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 10h28   #5
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 678
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 678
Points : 5 422
Points : 5 422
donc ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 18h02   #6
Membre du Club
 
Homme
Webmaster
Inscription : mars 2011
Messages : 36
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : mars 2011
Messages : 36
Points : 45
Points : 45
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.
Devildz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h18.


 
 
 
 
Partenaires

Hébergement Web