PHP: Variable session dans une condition

Psyka92 -  
 Psyka92 -
Bonjour,

Je suis débutant en php et j'ai un petit problème, j'essaye de faire un site sur lequel on peu se connecter avec un compte, préalablement enregistrer sur une base de donnée.
j'ai une première page index qui envoi d'abord sur un petit fichier php qui met la variable a 0 et qui renvoi sur la base du site (tous se passe sur la base).

le petit fichier php :

<?php
session_start();
$_SESSION['loguer'] = "0";
header('Location: base.php');
?>

rien de sorcier.
ensuite voici les commande importantes de la base pour mon problème :

<?php
if($_SESSION['loguer'] = 1)
{
include "affichInfo.php";
echo '<BR>';
echo $_SESSION['loguer'];
}
elseif ($_SESSION['loguer'] = 0)
{
include "login.html";
echo '<BR>';
echo $_SESSION['loguer'];
}
else
{
echo "Une erreur est survenus veuillez recommencer s'il vous plais.";
}
?>

ici je veut que s'affiche, soit la parti affichinfo si je suis déjà connecter, soit login si je ne me suis pas encore connecter. Le problème vient du fait que la variable se met automatiquement sur ma première condition, ici sa affichera toujours affichinfo.php
et si j'inverse l'ordre de mes conditions comme sa :

<?php
if($_SESSION['loguer'] = 0)
{
include "login.html";
echo '<BR>';
echo $_SESSION['loguer'];
}
elseif ($_SESSION['loguer'] = 1
{
include "affichInfo.php";
echo '<BR>';
echo $_SESSION['loguer'];
}
else
{
echo "Une erreur est survenus veuillez recommencer s'il vous plais.";
}
?>

Cela affichera login.php uniquement pourtant dans le fichier login.php j'ai une commande qui met la variable à 1 si le pseudo existe bien sur la table mysql,
en gros quelque soit ma première condition elle se valide automatiquement ............

aidez moi pls

2 réponses

  1. dariumis Messages postés 583 Statut Membre 63
     
    Salut c'est un double "==" pour cette condition:
    f($_SESSION['loguer'] == 0) 
    0
  2. Psyka92
     
    lol oki merci ^^ mais bon enfaite sa ne résous que la moitié du problème ^^
    maintenant ma condition marche mais elle ne passe jamais a 1 ^^ pourtant dans le fichier que j'ai fait qui vérifie le login et le mdp j'ai rajouté :

    $_SESSION['loguer'] = "1";

    sa donne sa :

    <?php
    // On démarre la session
    session_start();
    $loginOK = false;
    // On n'effectue les traitement qu'à la condition que
    // les informations aient été effectivement postées
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
    extract($_POST); // je vous renvoie à la doc de cette fonction
    // On va chercher le mot de passe afférent à ce login
    include('comysql.php');
    $sql = "SELECT * FROM clients_ogame2 WHERE login = '".addslashes($login)."'";
    $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
    // On vérifie que l'utilisateur existe bien
    if (mysql_num_rows($req) > 0) {
    $data = mysql_fetch_assoc($req);
    // On vérifie que son mot de passe est correct
    if ($password == $data['mdp']) {
    $loginOK = true;
    $_SESSION['loguer'] = "1";
    }
    }
    }
    // Si le login a été validé on met les données en sessions
    if ($loginOK) {
    $_SESSION['pseudo'] = $data['pseudo'];
    $_SESSION['age'] = $data['age'];
    $_SESSION['sexe'] = $data['sexe'];
    header('Location: base.php');
    }
    else {
    echo "<font face=arial size=4 color=black>Une Erreur est survenus veuillez cliquez <a href=base.php>ici</a> pour réesseyer.";
    }

    ?>

    si quelqu'un peu m'aider je le remercie d'avance :)
    0