Session et récupérations des variables en php
deb
-
planetevoyage Messages postés 7 Statut Membre -
planetevoyage Messages postés 7 Statut Membre -
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 !
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
-
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. -
-
-
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
;) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
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. -
-
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 ? -
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