Session et récupérations des variables en php

salut,

j'ai un petit pb pour récupérer des variables de sessions...

en fait j'ai fait (avec bcp d'aide) ce sript de connexion :
<?php
// connexion à la base mySQL
mysql_connect("localhost", "root", "") or die("Erreur de connexion : ".mysql_error());
mysql_select_db("courrier") or die ("Erreur de sélection de la bd : ".mysql_error());

// requête qui permet de resortir le niveau de l'utilisateur enregistré
$query = "SELECT * FROM utilisateurs WHERE loginuti = '$login' AND passworduti = '$password'";
$result = mysql_query($query) or die ("Erreur Query : ".mysql_error());
//on compte le nb de lignes de résultat
//si 1 : valide si 0 : aucun login ne correspond

if (mysql_num_rows($result) )
{
$ligne = mysql_fetch_array($result);
session_start();
$_SESSION['compte'] = $ligne['droitsuti'];
$_SESSION['login'] = $ligne['loginuti'];
if ($_SESSION['compte'] == 'admin')
{
header("location:page_adming.php");
}
else
{
header("location:page_clientg.php");
}
}
else
{
echo'<center>Login ou Mot-de-passe incorrects ! </center>';
include ("page_cnx.htm");
}

?>

et j'ai essayé de récupérer ces données dans un autre script :
// on récupere le nom de la personne dans $nom
$query = "SELECT * FROM destinataire, utilisateurs WHERE loginuti = refloginuti AND destinataire.refloginuti= '".$_SESSION['login']."'";
$result = mysql_query($query) or die (mysql_error());
$linedest = mysql_fetch_array($result);
$nom = $linedest[1];
echo $query;
echo '<font face="Geneva, Arial, Helvetica, san-serif">';
echo $nom;
echo '</font>';

mais ça ne marche pas et lorsque j'affiche la requete, j'ai ça :
SELECT * FROM destinataire, utilisateurs WHERE loginuti = refloginuti AND destinataire.refloginuti= ''
en fait, il ne prends pas en compte la variable de session !

9 réponses

  1. il faut commencer l'autre script avec ca aussi:
    session_start();

    en fait, faut le mettre sur toutes les debuts de pages ou tu veux recuperer les variables de session.
    1. Salut,
      j'ai peut-être rien compris à la vie mais chez moi, une variable de session se présente sous la forme:
      <?
      session_register("masession");
      ?>

      Si c'est autre chose, merci de me le dire
      ;)
      1. Meu non, fo pas dire ca!
        J'ai juste dis que la manière dont tu déclares tes variables me SEMBLE incorrecte.
        J'aurais mis session_register("compte") pour ton $_SESSION['compte'] .
        J'en suis pas sûr.

        En espérant qu'une âme un peu plus éclairée que la mienne puisse t'aider, je te souhaite bon courage.
        1. session_register("compte") marche aussi, mais est moins securise que $_SESSION["compte"].

          c'est comme $_POST["nom"] pour recuperer une variable passee par un formulaire en post.

          Deb: Quelle erreur as-tu maintenant ?
          1. Bonjour,

            Pour être sur que ta variable de session est bien prise en compte essaye de metre un
            echo "login = $_SESSION['login']";
            à la place des lignes
            header("xxxxxx");

            Si déjà ici ce n'est pas bon c'est ta requete que ne renvoie rien dans le champ loginuti.

            Jérôme