Posez votre question Signaler

Session et récupérations des variables en php

deb - Dernière réponse le 26 févr. 2003 à 11:43
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 !
Lire la suite 

Session et récupérations des variables en php »

9 réponses
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
et ya rien d'autre à mettre ???
Ajouter un commentaire
Réponse
+0
moins plus
je vois pas pourquoi les variables de session sont vides !!!
Ajouter un commentaire
Réponse
+0
moins plus
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
;)
Ajouter un commentaire
Réponse
+0
moins plus
alors tout ce que j'ai fait est faux !!!
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
et ben comment je fais moi ???
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « session et récupérations des variables en php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?