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 :

Condition : le else ne s'execute pas


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut Condition : le else ne s'execute pas
    Bonjour,
    j'ai un petit script pour lancer une session j'ai donc fait un if else et le else ne s'exécute pas, bien que les infos soient érronées.

    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
     
    <?php
    include('connect.php');
    if(isset($_POST['login'])AND isset($_POST['pass']))
    	{
    	$login = $_POST['login'];
    	$pass = $_POST['pass'];
    	if($login != NULL AND $pass != NULL)
    		{
    		$rep = mysql_query("SELECT * FROM acces_boutique WHERE login_acces_boutique = '$login' AND pass_acces_boutique = '$pass'");
    		if (!empty($rep))
    			{
    			while($tab = mysql_fetch_array($rep))
    				{
    				$id_acces_boutique = $tab['id_acces_boutique'];
    				$gerant_acces_boutique = $tab['gerant_acces_boutique'];
    				$login_acces_boutique = $tab['login_acces_boutique'];
    				$pass_acces_boutique = $tab['pass_acces_boutique'];
    				session_start();
    				$_SESSION['id'] = $id_acces_boutique;
    				$_SESSION['gerant'] = $gerant_acces_boutique;
    				$_SESSION['login'] = $login_acces_boutique;
    				$_SESSION['pass'] = $pass_acces_boutique;
    				header("location:admin-boutique.php");
    				}
    			}
    		else
    			{
    			header("location:acces_boutique.html");
    			}
    		}
    	}
    mysql_close();
    ?>
    Merci de vos aides!

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 341
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 341
    Billets dans le blog
    17
    Par défaut
    Je n'ai pas tout lu, mais pour commencer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $login = $_POST['login'];
    $pass = $_POST['pass'];
    if($login != NULL AND $pass != NULL)
    $login et $pass ne seront jamais NULL car $_POST['login'] et $_POST['pass'] ne contiendront jamais NULL mais au pire, s'ils sont définis, une chaîne vide.

  3. #3
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    oui ok séb.,

    je ne veux pas parraître agressif mais essaies de lire tout avant de poster sinon il y a aucun interet sauf faire monter tes stats sur le site et essaies de ne poster pas des choses sans rapport avec le sujet car mon else n'intervient pas pour faire une alternative à mes vérifications de contenu de variable mais pour faire une alternative à la vérification du contenu de ma requête.

    En deuxième lieu je peux que te conseiller d'essayer les deux scripts suivants et de voir le résultat et la tu verra que m'a manière de vérification par != NULL est belle et bien efficace:

    formulaire.html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="testvariable.php">
    login : <input type="text" name="login" /><br />
    pass : <input type="password" name="pass" /><br />
    <input type="submit" />
    </form>
    testvariable.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
     
    <?php
    if(isset($_POST['login'])AND isset($_POST['pass']))
         {
         $log = $_POST['login'];
         $pass = $_POST['pass'];
         if($log != NULL AND $pass !=NULL)
              {
               echo 'j\'avais raison';
              }
         else
              {
              echo 'j\'avais aussi raison';
              }
         }
    ?>
    test1 : remplis le formulaire
    test2 : remplis pas le formulaire

    Merci aux membres du forum qui souhaitent vraiment faire avancer certain sujet de bien lire le post et si toute fois des propositions sans certitudes sont faites dans un esprit de reflexion mutuel n'hésitez pas on est la pour ça.

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 341
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 341
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par xess91 Voir le message
    En deuxième lieu je peux que te conseiller d'essayer les deux scripts suivants
    Au temps pour moi. L'habitude d'utiliser !== et === :\

    et de voir le résultat et la tu verra que m'a manière de vérification par != NULL est belle est efficace:
    Ce n'est ni beau et ni efficace, mais ce n'est que mon avis hein, car : tu testes si une variable vaut NULL alors qu'elle ne le vaudra jamais. En fait ça passe uniquement parce que NULL == '' donne TRUE, merci PHP.

    Merci aux membres du forum qui souhaitent vraiment faire avancer certain sujet de bien lire le post et si toute fois des propositions sans certitudes sont faites dans un esprit de reflexion mutuel n'hésitez pas on est la pour ça
    Je vais m'occuper de mes stats. EOT.

  5. #5
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    C'est bien ce que je disais ça n'avance pas le sujet et le problème de ce post.

    Ceci étant c'est comme je disais, je ne voulais pas être agressif et c'est sans rancunes car ça a juste pourrit le post !

    Si toutes fois des personnes veulent encore poster c'est sans problème, sinon demain le sujet partira à la poubelle.

    Aller bonne soirée à séb. et aux autres

  6. #6
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    je ne suis pas sûr que ceci fonctionne comme tu l'attends :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $rep = mysql_query("SELECT * FROM acces_boutique WHERE login_acces_boutique = '$login' AND pass_acces_boutique = '$pass'");
    if (!empty($rep))
    {
    .
    .
    }
    Dans tous les cas, $rep ne sera pas vide puisqu'il contiendra au moins le résultat de la requete.

    j'aurais plutôt fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $rep = mysql_query("SELECT * FROM acces_boutique WHERE login_acces_boutique = '$login' AND pass_acces_boutique = '$pass'");
    $nb = mysql_num_rows($rep);
    if ($nb != 0)
    {
    .
    .
    }

Discussions similaires

  1. conditions else else if ne fonctionnant pas
    Par johnny3 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/01/2010, 10h22
  2. Ma condition if / else ne fonctionne pas
    Par kryogen dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 11/10/2007, 18h39
  3. condition (if/else) qui ne fonctionne pas
    Par oceane751 dans le forum Langage
    Réponses: 8
    Dernier message: 24/07/2007, 23h58
  4. ShellExecuteEx ne s'execute pas à chaque fois??
    Par Gothico dans le forum MFC
    Réponses: 11
    Dernier message: 01/03/2005, 22h02
  5. [Kylix] Compilation OK Execution pas ok
    Par teurf dans le forum EDI
    Réponses: 14
    Dernier message: 03/12/2002, 15h10

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