Variables de sessions qui se perdent

Signaler
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011
-
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
-
Bonjour chers Geek

ayant deja chercher la reponse a mon probleme sur de nombreux forum et aussi sur google 'qui est mon ami..' et n'ayant pas trouver la reponse je me tourne vers vous

Mon probleme est le suivant

j'ai 4 pages php page1, 2, 3 et 4.

Les pages 2, 3 et 4 font appels a la page 1 (pas en simultannée)ou se trouve le traitement a effectuer et doit rappeler la pages qui l'a ouverte,
(il faut noter que lorsque les pages 2,3 et 4 font appel page 1 elles ont des parametres passés dans leur url)

j'ai réussi a faire cela. le probleme c'est que lorsque les pages 2,3,4 sont rappelée, elle perdent leur sessions.

j'ai bien verifier qu'il y'a des session_start() au debut de chaque pages mais rien


hellllppppppp!!!!!!!!!!!!

14 réponses

Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

up!!!
il n'ya personne pour m'aider sur ce topic?? suis bloqué dessus depuis une semaine .

please
Messages postés
261
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
10 mars 2014
3
Tcho!

mets ton code ca sera + simple pour celui qui tente de t'aider..

A++
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

up
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

Bonjour,

tu auras beau "up" cela ne change pas le problème... Il n'y a aucun code.


________________________________________
( $toBe || !$toBe ) = $this->Question();
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

alors je reviens vers vous

voici le code du fichier page 2 qui appel le fichier de traitement page 1

<?php
@session_start();
require_once("Connexion.php");

$login=$_SESSION['login'];
$user=$_SESSION['numuser'];

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<title></title>

<script type="text/javascript">
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>
<head>

<script language="Javascript">
// La fonction qui affiche/masque l'élément
function bascule(elem)
{
// Quel est l'état actuel ?
etat=document.getElementById(elem).style.visibility;
if(etat=="hidden"){document.getElementById(elem).style.visibility="visible";}
else{document.getElementById(elem).style.visibility="hidden";}
}
</script>

</head>



<table>
<tr>

<td >

<?php

// si la source d'energie est l'eau

if (isset($_GET['eau']) or isset($_GET['electricité']) or isset($_GET['thermique']) or isset($_GET['gaz']))
{

if (isset($_GET['eau']))
{
$sousreq=mysql_query("SELECT capteur.adresse_mac_capteur, capteur.nom_capteur
FROM capteur, site, utilisateur, client, source_energie
WHERE site.nom_site='$nom_site'
AND utilisateur.login='$login'
AND source_energie.nom_source='eau'
AND source_energie.num_source=capteur.num_source
AND utilisateur.num_client=client.num_client
AND client.num_client=site.num_client
AND site.num_site=capteur.num_site
GROUP BY capteur.nom_capteur ASC
");
}

// si la source d'energie choisit est la chaleur thermique

if (isset($_GET['thermique']))
{
$sousreq=mysql_query("SELECT capteur.adresse_mac_capteur, capteur.nom_capteur
FROM capteur, site, utilisateur, client, source_energie
WHERE site.nom_site='$nom_site'
AND utilisateur.login='$login'
AND source_energie.nom_source='thermique'
AND source_energie.num_source=capteur.num_source
AND utilisateur.num_client=client.num_client
AND client.num_client=site.num_client
AND site.num_site=capteur.num_site
GROUP BY capteur.nom_capteur ASC
");
}

// si la source d'energie choisit est l'electricité

if (isset($_GET['electricité']))
{
$sousreq=mysql_query("SELECT capteur.adresse_mac_capteur, capteur.nom_capteur
FROM capteur, site, utilisateur, client, source_energie
WHERE site.nom_site='$nom_site'
AND utilisateur.login='$login'
AND source_energie.nom_source='electricité'
AND source_energie.num_source=capteur.num_source
AND utilisateur.num_client=client.num_client
AND client.num_client=site.num_client
AND site.num_site=capteur.num_site
GROUP BY capteur.nom_capteur ASC
");
}

// si la source d'energie choisit est le gaz

if (isset($_GET['gaz']))
{
$sousreq=mysql_query("SELECT capteur.adresse_mac_capteur, capteur.nom_capteur
FROM capteur, site, utilisateur, client, source_energie
WHERE site.nom_site='$nom_site'
AND utilisateur.login='$login'
AND source_energie.nom_source='gaz'
AND source_energie.num_source=capteur.num_source
AND utilisateur.num_client=client.num_client
AND client.num_client=site.num_client
AND site.num_site=capteur.num_site
GROUP BY capteur.nom_capteur ASC
");
}

//message dans le cas ou la requete ne retourne aucun resultat
$nb_resultat=mysql_num_rows($sousreq);

if($nb_resultat==0)
{
echo"Aucun capteur enrégistré.";
$m++;
}
else
{
$capteurvide++; $m=0;
//on boucle pour afficher chaque sous capteur
while($sousreponse= mysql_fetch_array($sousreq))
{

// lien qui appel la page 2
echo "";

echo"<form name="Capteur" action="#" method="" title="Capteur" style="text-align:center">";

echo"</form> ";
$_SESSION['adressemac'.$id]=$sousreponse['adresse_mac_capteur'];

$id++;
}
}
$boite++;
}

?>


</html>

Sachant que page trois et 4 sont pareils que celle-ci


page 1 qui effectue le traitement et rappel la page 2

<?php
session_start();
require_once('Connexion.php');

$login=$_SESSION['login'];
$user=$_SESSION['numuser'];

//recupere les informations sur le client
$reqinfo=mysql_query("select nom_client, prenom_client from client, utilisateur where utilisateur.num_client=client.num_client and utilisateur.login='$login'");
while (@$reponseinfo= mysql_fetch_array($reqinfo))
{
$nomclient=$reponseinfo['nom_client'];
}

if ($nomclient=='xxxx')
{
}

else
{
}

//on recupere la page qui a appelé celle ci

$nom_fichier = basename($_SERVER['HTTP_REFERER']);

require $nom_fichier.php;

//fermeture de la connexion à la base de données
mysql_close();

?>

s'il vous plais aide, meme si je sais que moncode n'est pas tres plaisant a lire
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

up!! aucune âme charitable pour m'aider a résoudre mon problème???
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

rebonjour chers geeks et un nouveau up!!!
Messages postés
3
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
7 février 2012

Bonjour,

Tu dois Remplir tes variables sessions afin que tu puisse les récupérés après .
$_SESSION['login'] =...
$_SESSION['numuser'] =...
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

ces variables sont remplies dans la pages d'identification donc ne sont pas vident
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

[^^sad1][^^sad1]
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

Bonjour,

$login=$_SESSION['login'];
$user=$_SESSION['numuser'];


J'ai du mal par contre à comprendre la suite. Comme dit précédemment par codeurcasa. Car là tu assignes à $login la valeur de $_SESSION['login'] qui n'est pas déclaré dans le morceau de code que tu nous présentes. Il vaudrait mieux faire :

$_SESSION['login']=$login;
$_SESSION['numuser']=$user;


Si tu veux que ton login et user soient disponibles en session.
________________________________________
( $toBe || !$toBe ) = $this->Question();
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

comme j'ai repondu a codeurcasa $_SESSION['login'] et $_SESSION['numuser'] ont été implémenter dans d'autre page et contiennent deja des valeurs de login et d'utilisateur
Messages postés
19
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
22 septembre 2011

toujours aucunes reponses pour m'aider a resoudre mon probleme??
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

Que donne un
var_dump($_SESSION);

sur page1, 2, 3, 4?
________________________________________
( $toBe || !$toBe ) = $this->Question();