Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/02/2007, 12h22   #1
Membre habitué
 
Inscription : mai 2006
Messages : 204
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mai 2006
Messages : 204
Points : 126
Points : 126
Par défaut pb redirection constante, variable session vide

bonjour,

voilà j'explique le topo :
je fais un site, et dedans j'ai une section produit ou l'on peux voir les prix des articles proposer par l'entreprise, mais pour pouvoir les voir, le patron m'a demander de faire en sorte qu'il n'y ai que les personne enregistrer dans la base qui puisse y avoir accès! mon problème c'est que ma variable session se vide toute seule je pense que c parce qu'elle n'est pas transmise dans la page suivante!
enfin voilà le code j'espère que l'on pourra résoudre ce problème ensemble
page de connexion
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<DIV class="droite">
<?php
if (isset($_SESSION["ID"]))
	{
		echo '<meta http-equiv="refresh" content="0;URL=index.php?PageDemandee=13">';
		exit(); 
	}
	else
	{
		require("BaseDeDonnees/AccesBDDRequete.php");
		if (isset($_REQUEST["Login"]) && isset($_REQUEST["Pwd"])) 
		{
			$Login = $_REQUEST["Login"];
			$Password = $_REQUEST["Pwd"];
                        //ici c bon les deux variable sont bien instencier.
			$SQL="SELECT * FROM t_clients WHERE EntrepriseClient='$Login' AND Password='$Password';";
			$RetourRequeteUtilisateur=Fonc_AccesBDDRequete($SQL) or die ("requete SQL erronée");
			if(mysql_num_rows($RetourRequeteUtilisateur)==0)
			{
?> <P>Nom d'utilisateur ou mot de passe incorect!</P>
<?php
			}
			Else
			{
				$_SESSION["NumSession"]=session_id();
				$_SESSION["ID"]=$Login;
				//ici aussi c bon la variable session s'instencie correctement
				echo '<meta http-equiv="refresh" content="0;URL=index.php?PageDemandee=13">';
				exit(); 
                                 //la page demandée 13 s'affiche correctement du moins on passe bien a la page demandée 13...
			}
		}
		Else
		{
				echo "ID=".$_SESSION["ID"]."<BR>";
			echo "Chère client merci de bien vouloir vous identifier avant toute commande.";
			?>
			<form name="FormConexion" action="Enregistrement.php" method="post">
			<p>Page de connexion client</p>
			<table>
				<tr >
					<td ><b>Nom de votre entreprise</b></td>
					<!-- *************** zone de  login ****************-->
					
					<td ><Input type="text" name="Login" ></td>
				</tr>
				<tr >
					<td ><b>Votre mot de passe<b></td>
					<!-- ***************  zone de mot de passe ****************-->
					<td ><Input type="password" name="Pwd"></td>
				</tr>
				<tr >
					<!-- ***************  le bouton d'envoi ****************-->
					<td colspan="2"><Input name=cmdOK type="submit" Value="Connection"></td>
				</tr> 
			</table>
			</form> 
		<?php
		}//Endelse isset($_REQUEST["Login"]) && isset($_REQUEST["Pwd"]))
	}//Endelse isset($_SESSION["ID"])
	?>
</DIV>
Code :
1
2
3
4
5
6
7
8
9
10
<?php
			echo "ID=".$_SESSION["ID"]."<BR>";
	if (!isset($_SESSION["ID"]))
         //ici il y  a un problème la variable session est vide
	{
		//echo '<meta http-equiv="refresh" content="0;URL=index.php?PageDemandee=2">';
		exit();
	}
	else
	{affichage de la page et la il n'y a pas d'erreur car si j'enlève la partit qui test la variable session tout marche bien!}
__________________
pas de demande d'aide par mp rester sur le topic il y aura plus de chance pour que vous ayez une réponse.
ben_skywalker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 12h25   #2
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
on sait jamais : tu mets bien session_start(); au tout début de chacune des pages ?
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 12h25   #3
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Je ne vois pas de session_start().

Le problème peut venir de là.
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 14h12   #4
Membre habitué
 
Inscription : mai 2006
Messages : 204
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mai 2006
Messages : 204
Points : 126
Points : 126
pour le session start il est mit sur la page index.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
		session_start();
?>
<html>
<head><title>Lagadec Primeurs</title>
	<link rel="Stylesheet" href="StyleSite.css" type="text/css">
	<SCRIPT  language="javascript" src="FichierDeScripts.js"></SCRIPT>
</head>
<body>
	<?php
	/* vérification  et reception de la valeur envoyé dans l'URL */
	if(isset($_REQUEST["PageDemandee"]) && ! empty($_REQUEST["PageDemandee"]))
		{$page=$_REQUEST["PageDemandee"];}
	else /* si aucune valeur (lors du premier appel de la page) mise à 0 */
		{$page=1;}
	include('EnTete.php');
	include('Gauche.php');
	switch ($page)
		{
			case 1:
		    	include('DroiteNews.php');
			    break;
			case 2:
		    	//include('DroiteProduits.php');
				include('Enregistrement.php');
			    break;
			case 3: 
		    	include('DroiteInscription.php');
			    break; 
			case 4: 
		    	include('DroiteCaddy.php');
			    break;
			case 5: 
		    	include('DroiteAdministration.php');
			    break;
			case 6:
		  		include('DroiteSaveCommande.php');
				break;
			case 7:
		  		include('DroitePartenaires.php');
				break;
			case 8:
				include('MentionsLegales.php');
				break;
			case 9:
				include('DroiteHistorique.php');
				break;
			case 10:
				include('DroiteQqChiffres.php');
				break;
			case 11:
				include('DroitePtFort.php');
				break;
			case 12:
				include('DroiteDiapo.php');
				break;
			case 13:
				include('DroiteProduits.php');
				break;
			default:
		 		include('DroiteNews.php');
			    break;
		} 
	include('PiedDePage.php');
	?>	
</body>
</html>
__________________
pas de demande d'aide par mp rester sur le topic il y aura plus de chance pour que vous ayez une réponse.
ben_skywalker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 14h25   #5
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Il faut qu'il soit spécifier à chaque début de page ou les sessions sont utilisées.
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 14h39   #6
Membre habitué
 
Inscription : mai 2006
Messages : 204
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mai 2006
Messages : 204
Points : 126
Points : 126
vue que toute les pages sont utiliser sur index.php c'est le cas, j'ai un caddie qui marche avec une variable session et sa marche impec avec juste le session_start() sur la page index.php car les autre page s'affiche suivant la page demander et c dans le switch qu'il est décider de la page a afficher dans la division droite!
__________________
pas de demande d'aide par mp rester sur le topic il y aura plus de chance pour que vous ayez une réponse.
ben_skywalker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 16h43   #7
Membre habitué
 
Inscription : mai 2006
Messages : 204
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mai 2006
Messages : 204
Points : 126
Points : 126
en faite je vient de trouver!! c'est du au faite que je vais sur la page enregistrement. php au lieu de index.php?PageDemandee=2
Code :
<form name="FormConexion" action="Enregistrement.php" method="post">


Code :
<form name="FormConexion" action="index.php?PageDemandee=2" method="post">


voilà ce que ça aurais du être...

aurevoir et merci
__________________
pas de demande d'aide par mp rester sur le topic il y aura plus de chance pour que vous ayez une réponse.
ben_skywalker est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h16.


 
 
 
 
Partenaires

Hébergement Web