Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1438 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Sessions non transmise

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]Sessions non transmise

n°1708175
l0g4n
Expert en tout :o
Posté le 26-03-2008 à 15:47:38  profilanswer
 

En gros, je veux utiliser un système de session ( pas autre choses ! )
Et j'ai l problème suivant :
Remplir une fois les $_SESSION de variables incluses dans l'URL ( $_GET .... )
Sauf que, pour cela il faut utiliser un if else et c'est la que mes session bug :
Quand je clique sur un lien, les sessions ne sont pas transmises !
Le script :
<?php
session_start(); // On démarre la session AVANT toute chose
// On s'amuse à créer quelques variables de session :
$id = $_GET['idmix'] / $_GET['time'];
$_SESSION['id'] = $id;
$_SESSION['pseudo'] = $_GET['pseudo'];
$_SESSION['peuple'] = $_GET['peuple'];
$_SESSION['race'] = $_GET['race'];
$_SESSION['orientation'] = $_GET['orientation'];
// Maintenant que le session_start est fait, on peut taper du code HTML
?>
 
 
 
Il récupère correctements les variables mais, dès le premier changement de page, c'est la merde.
Je me demande si mettre les variables dans une page "mère" et faire des include pour tout ne marcherais pas ? Dans les genre des frames en HTML ...


Message édité par l0g4n le 26-03-2008 à 16:45:06

---------------
Fort et motivé. Sauf parfois.
mood
Publicité
Posté le 26-03-2008 à 15:47:38  profilanswer
 

n°1708176
skeye
Posté le 26-03-2008 à 15:49:23  profilanswer
 

Quelle est l'erreur exactement?


---------------
Can't buy what I want because it's free -
n°1708178
l0g4n
Expert en tout :o
Posté le 26-03-2008 à 15:51:28  profilanswer
 

Eh bien aucune variable n'est transmisse sur les autres pages : les $_session n'existes pas !

n°1708179
skeye
Posté le 26-03-2008 à 15:51:43  profilanswer
 

montre le code.


---------------
Can't buy what I want because it's free -
n°1708190
l0g4n
Expert en tout :o
Posté le 26-03-2008 à 16:01:04  profilanswer
 

par exemple, un lien vers :
<?php
session_start(); // On démarre la session AVANT toute chose
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Titre de ma page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p>Re-bonjour !</p>
<p>
<br />
<?php echo $_SESSION['id']; echo $_SESSION['pseudo']; echo $_SESSION['race_nom']; ?><br />
<a href="index.php">revenir</a>
</p>
</body>
</html>
Ne me montre rien la ou je devrait avoir un pseudo ( le mien ;) )

n°1708193
Ekuryua
Posté le 26-03-2008 à 16:02:04  profilanswer
 

l0g4n a écrit :

Eh bien aucune variable n'est transmisse sur les autres pages : les $_session n'existes pas !


 
T'as l'identifiant de session, sur tous les liens HTML que tu suis? Sinon, le cookie est bien sauvegardé par ton navigateur? (la plupart des navigateurs permettent d'avoir la liste des cookies et leur contenu... sinon, cherche dans les fichiers de configuration de ton utilisateur... -ou regedit, si t'es sous Windows, j'en sais rien).
 
Tu executes bien session_start();, dans la nouvelle page?
 
C'est quoi ton histoire de if-then-else? Si t'utilises qu'une seule page, et que tu réintègres pas tes $_GET dans les URLs des liens (ce qui rendrait inutile la session, donc je suppose que c'est pas ce que tu fais), faut effectivement sauter ton bloc de code qui sauvegarde les $_GET dans la session, sinon tu mets des données vides, dans tes variables de session, et c'est pour ça que tu retrouves pas les valeurs originales...
 
Il te faut un truc genre:
 


if (isset($_SESSION['id']) == false)
{
   // Sauvegarde les "$_GET" dans "$_SESSION".
}


 
Enfin bien sûr, si c'est pour un site public, faut que tu vérifie pas mal de trucs, niveau sécurité des données passées par "$_GET"...

n°1708194
skeye
Posté le 26-03-2008 à 16:02:26  profilanswer
 

Et si tu fais un print_r($_SESSION) juste après le session_start ça donne quoi?


---------------
Can't buy what I want because it's free -
n°1708199
l0g4n
Expert en tout :o
Posté le 26-03-2008 à 16:06:02  profilanswer
 

Il me sort :
"Array ( )"
Mais, tu me dis de rentrer l'id de session dans mes liens ; php ne le fais pas tout seul ?
 
PS : suis sous tux avec un apache 2 et php5...


Message édité par l0g4n le 26-03-2008 à 16:07:14
n°1708201
skeye
Posté le 26-03-2008 à 16:07:26  profilanswer
 

normalement php le fait tout seul, si...ça dépend de la configuration.
Si tu affiches session_id() dans chaque page il répond quoi?


---------------
Can't buy what I want because it's free -
n°1708204
l0g4n
Expert en tout :o
Posté le 26-03-2008 à 16:09:24  profilanswer
 

Il m'indique "ed9100698e95bce362ceaef558b027da" sur la seconde page, donc il transmet bien quelque chose, mais quoi ? De plus, il n'indiqu rien sur la remière mais c'est normale ( je pense ! )


Message édité par l0g4n le 26-03-2008 à 16:10:06
mood
Publicité
Posté le 26-03-2008 à 16:09:24  profilanswer
 

n°1708206
l0g4n
Expert en tout :o
Posté le 26-03-2008 à 16:11:38  profilanswer
 

Le fait que les variables viennent d'un $_GET ? C'est peut-être mon problème ?

n°1708211
skeye
Posté le 26-03-2008 à 16:15:10  profilanswer
 

Je peux me tromper, mais il devrait il me semble t'afficher un id de session sur la première page aussi...


---------------
Can't buy what I want because it's free -
n°1708213
l0g4n
Expert en tout :o
Posté le 26-03-2008 à 16:16:59  profilanswer
 

Ah ? C'est peut - être la que sa bug, une mauvaise config de php.ini ? Ou mon script qui merdouille ?
De plus, si je déclare des $_SESSION['machin'] en dur ( style $_SESSION['nom'] = "coucou"; ) Sa marche partout  :??:
Par contre, si je fais un mélange, c'est le bordel !!


Message édité par l0g4n le 26-03-2008 à 16:33:21
n°1708240
l0g4n
Expert en tout :o
Posté le 26-03-2008 à 16:44:51  profilanswer
 

Problème résolu :
Il faut déclarer une des $_SESSION en dur et puis sa marche ??

n°1708242
skeye
Posté le 26-03-2008 à 16:46:12  profilanswer
 

Il doit y avoir un soucis dans ton code quelque part...montre le code complet de ta page qui crée la session à l'origine?


---------------
Can't buy what I want because it's free -

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Sessions non transmise

 

Sujets relatifs
[Résolu] Ouvrir un fichier .xsl[Resolu]Stockage d'objets sérialisés
[résolu]Formulaire avec des "radio" [Résolu][Ubuntu] Copie automatique de fichiers au branchement clé usb
[resolu] Jar executable[PHP] résolu - impossible de recupérer les $_POST
plusieurs sessions sur un nom de domaine[RESOLU] lister un répertoire dans l'ordre alphabétique
[résolu] liens vers requetes SQL[JS] (redimensionnement d'éléments) lock de sélection
Plus de sujets relatifs à : [RESOLU]Sessions non transmise


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR