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 :

Renvoi de valeur dans un if else


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 90
    Par défaut Renvoi de valeur dans un if else
    Bonjour je voulais savoir quel valeur etait renvoyée lorsqu'on fait un if else

    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
    login($login,$pass,$server);
    function login($login,$pass,$server)
    {
    $login = $_POST['login'];
    $pass = $_POST['pass'];
    if($login=="")
    {
    echo "non";
    exit();
    } else {
     $sql = mysql_connect($server, $login, $pass) or die("Login ou mot de passe incorrect");
     if ($sql != FALSE)
     {
     echo $sql;
    include ('index.php');
     
     setCookie("login",$login);
     setCookie("pass",$pass);
     
     }
    mon probleme est que ma boucle ne fonctionne pas elle affiche toujours index.php (que la connexion échoue ou non) comment cela se fait il?
    Merci

  2. #2
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Bonjour,

    la fonction mysql_connect retourne bien FALSE en cas d'échec.
    Mais tu n'as pas besoin d'utliser $_POST dans la fonction pour utliser une variable passée en paramètre de la fonction. Tu peux l'utliser directement.

    Voila ce que tu peux faire :
    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
     
    $login = $_POST['login'];
    $pass = $_POST['pass'];
     
    login($login, $pass, $server);
     
     
    function login($login, $pass, $server) {
      if(empty ($login)) {
        echo "non";
      } elseif ( ! mysql_connect($server, $login, $pass) ) {
        echo "Login ou mot de passe incorrect";
      } else {
        setCookie("login", $login);
        setCookie("pass", $pass);
        header("location:index.php");
      }
    }
    Gillou

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 90
    Par défaut
    en fait moi je voulais effectuer deux tests:
    le premier qui me permette de tester si le champ login n'est pas vide et si celui ci n'est pas vide on effectue un deuxième test pour voir si la connexion a mysql est ok.
    Si celle ci est ok alors on stocke les valeur ds les cookies et on passe a la page suivante.
    Je ne sais pas si ce que tu a marqué est pareil?
    merci

  4. #4
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Oui, c'est ça. Je te rajoute les commentaires:

    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
     
    function login($login, $pass, $server) {
     
      //On test si la valeur de $login est vide ?
      if(empty ($login)) {
        echo "login vide";  //si oui, alors on affiche "login vide"
      } 
     
      //si non, on teste la connexion à MySQL
      //echec de la connexion
      elseif ( ! mysql_connect($server, $login, $pass) ) {
        echo "Login ou mot de passe incorrect";  on affiche le message
      } 
     
      //connexion réussie
      else {
        setCookie("login", $login);  //on écrit dans les cookies
        setCookie("pass", $pass);
        header("location:index.php");  //on redirige le navigateur vers index.php
      }
     
    }
    Gillou

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 90
    Par défaut
    ca marche pas il met directement la page index.php sans que je fasse quoi que ce soit(au chargement de la page).... Je suis sous wamp. je ne sais pas s'il y a des paramètres particuliers.
    J'ai trouvé il faut que je supprime les cookies et lorsque je tape n'importe quelle lettre il m'envoie sur la age index.php.
    je comprend pas pourquoi.

  6. #6
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Et comme ca ?

    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
     
    function login($login, $pass, $server) {
     
      //On test si la valeur de $login est vide ?
      if(empty ($login)) {
        die("login vide");  //si oui, alors on affiche "login vide";
      } 
     
      //si non, on teste la connexion à MySQL
      //echec de la connexion
      elseif ( ! mysql_connect($server, $login, $pass) ) {
        die("Login ou mot de passe incorrect");  on affiche le message;
      } 
     
      //connexion réussie
      else {
        setCookie("login", $login);  //on écrit dans les cookies
        setCookie("pass", $pass);
        header("location:index.php");  //on redirige le navigateur vers index.php
      }
     
    }
    si ca ne marche pas, envoie ma le code complet, et celui du formulaire.

    Gillou

Discussions similaires

  1. [XL-2007] Combo box et renvoie valeur dans une cellule!
    Par bedoch dans le forum Excel
    Réponses: 1
    Dernier message: 15/03/2010, 23h59
  2. Réponses: 2
    Dernier message: 23/12/2007, 20h09
  3. renvoie de valeur dans un context static
    Par bdptaki dans le forum Langage
    Réponses: 7
    Dernier message: 10/12/2007, 22h35
  4. Réponses: 2
    Dernier message: 24/11/2005, 22h30
  5. Renvoi d'une valeur dans un champ avec un style
    Par m@thieu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/11/2005, 18h09

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