Problème d'affichage de session

Petit nouveau ! | 2 Messages

26 nov. 2005, 04:18

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'];
        }

ViPHP
ViPHP | 649 Messages

26 nov. 2005, 04:56

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
Image

Petit nouveau ! | 2 Messages

26 nov. 2005, 05:00

rooo la honte, merci à toi :oops:

ViPHP
ViPHP | 649 Messages

26 nov. 2005, 05:02

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)
Image

Mammouth du PHP | 1885 Messages

26 nov. 2005, 08:27

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.

:)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

ViPHP
ViPHP | 649 Messages

27 nov. 2005, 00:15

Son problème était résolu, je lui avais mentionné les $res et $_res. Seulement, il a oublié son [resolu] définitivement...
Image