Page 1 sur 1

Problème d'affichage de session

Posté : 26 nov. 2005, 04:18
par millenium
Hello,

Bon ça fait une heure que je galère, je me décide à poster

Voici mon code:
<?
session_start();
include('bd.php');

if ($_POST['pushed']== 1){
        $pseudo = $_POST['pseudo'];
        $mdp = $_POST['mdp'];

        $sql = "select * from user where pseudo = '$pseudo' and mdp = '$mdp'";
        mysql_query($sql);
        $req = mysql_query($sql);
        $res = mysql_fetch_array($req);
        
        if ($pseudo == $res['pseudo'] and $mdp == $res['mdp']){
                $connect = true;
                $_SESSION['pseudo'] = $_res['pseudo'];
        }
        else{   
                $connect = false;
                echo 'non connecté';
        }
}

?>
Et je ne comprends pas pourquoi on ne veut pas m'afficher mon pseudo
$_res['pseudo'] 
contient bien le pseudo pourtant.

Merci d'avance

edit: plus loin dans la page, je mets bien sur ceci:
if($connect == true) {
                        echo $_SESSION['pseudo'];
        }

Posté : 26 nov. 2005, 04:56
par alexbad
Quand tu donnes une chaîne de caractères comme valeur à une variable, tu mets le tout entre "":

$connect = "false";
$connect = "true";
Ou entre apostrophes.

Je devine que ton include est la connexion à mysql. Par contre, tu as oublié ton mysql_close();

Ton $res, tu l'écris une fois $res et une autre $_res, faudrait décider :P

Posté : 26 nov. 2005, 05:00
par millenium
rooo la honte, merci à toi :oops:

Posté : 26 nov. 2005, 05:02
par alexbad
T'as pas à avoir honte, il m'arrive souvent de chercher longtemps dans mes codes pour des erreurs des plus banales, un peu désolant mais au moins, on ne refait pas la même erreur (de là ma signature)

Posté : 26 nov. 2005, 08:27
par Xenon_54
Quand tu donnes une chaîne de caractères comme valeur à une variable, tu mets le tout entre "":

$connect = "false";
$connect = "true";
Ou entre apostrophes.

Je devine que ton include est la connexion à mysql. Par contre, tu as oublié ton mysql_close();

Ton $res, tu l'écris une fois $res et une autre $_res, faudrait décider :P
On ne doit jamais mettre de constante entre guillemets. TRUE et FALSE sont des constantes et ne doivent pas être mises entre guillemets. Le problème ne se situe pas à cet endroit.

Le problème vient du fait que tu utilises deux noms de variables différents pour récupérer les résultats: $res et $_res. Il faut être constant lorsque l'on utilise les variables.

De plus, tu exécutes ta requête deux fois. Une seule suffit.

:)

Posté : 27 nov. 2005, 00:15
par alexbad
Son problème était résolu, je lui avais mentionné les $res et $_res. Seulement, il a oublié son [resolu] définitivement...