Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 28/10/2011, 18h45   #1
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Par défaut Perte de session

Bonjour à tous,

Après avoir parcouru maintes et maintes forum j'y vais aussi de mon post.

En effet j'ai une gestion de secteur sur mon site Internet grâce à des sessions sauf que je perds ma session systématiquement.

Sur le principe, mon secteur apparait dans mon url et je lance des tests pour définir ma session.
Quand le secteur est dans l'url tout fonctionne sauf que dès qu'il n'apparait plus dans l'url la session ne fonctionne pas.

Pour faire plus simple voici mon code 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
 
// Il s'agit de la durée au-delà de laquelle des données de session seront considérées comme périmées.
ini_set("session.gc_maxlifetime","3600");
// Si cette option est égale à 1, alors PHP ignorera les identifiants transmis via l'url pour n'utiliser que ceux contenus dans les cookies.
ini_set("session.use_only_cookies","1");	
 
session_start();
 
/********************************************
 *			GESTION SECTEURS				*
 ********************************************/
// on récupére le secteur selectionné par le navigateur
 
if (!isset($_SESSION['villeID'])) {
 
 
	if ( (isset($_GET['ville'])) && (!empty($_GET['ville'])) ) {
 
 
	$villeName				=  (isset($_GET['ville'])) ? trim($_GET['ville']) : null;
	$villeName				=  mysql_real_escape_string($villeName);
 
		$sqlQueryList			=
			" SELECT * ".
			" FROM VILLE_LIST ".
			" WHERE VILLE_NAME LIKE '$villeName'".
			" ORDER BY VILLE_ID ASC LIMIT 0,1"; 
			$reqList 			= mysql_query($sqlQueryList);
			$reqVilleResult		= mysql_fetch_array($reqList);
 
			if (!empty($reqVilleResult['VILLE_ID'])) { 
 
			$idSecteur 			= $reqVilleResult['VILLE_ID'];
			$_SESSION['villeID']	= $reqVilleResult['VILLE_ID'];
 
			}  else {
			$idSecteur 		= 4;
			} 
 
	}  else {
 
	$idSecteur 		= 1; 
 
	}
 
} elseif (isset($_SESSION['villeID'])) {
 
	$idSecteur = (isset($_SESSION['villeID'])) ? trim($_SESSION['villeID']) : null;
 
	if(!empty($idSecteur) && ctype_digit($idSecteur)) {
	$idSecteur				=  intval($idSecteur);
	}			
 
}
Mon navigateur gère bien les cookies et ne les bloque pas.

Voici ce que dit phpinfo sur les sessions:
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
 
Session Support	enabled
Registered save handlers	files user sqlite
Registered serializer handlers	php php_binary wddx
 
Directive	Local Value	Master Value
session.auto_start	Off	Off
session.bug_compat_42	On	On
session.bug_compat_warn	On	On
session.cache_expire	180	180
session.cache_limiter	nocache	nocache
session.cookie_domain	no value	no value
session.cookie_httponly	Off	Off
session.cookie_lifetime	0	0
session.cookie_path	/	/
session.cookie_secure	Off	Off
session.entropy_file	no value	no value
session.entropy_length	0	0
session.gc_divisor	100	100
session.gc_maxlifetime	1440	1440
session.gc_probability	0	0
session.hash_bits_per_character	4	4
session.hash_function	0	0
session.name	PHPSESSID	PHPSESSID
session.referer_check	no value	no value
session.save_handler	files	files
session.save_path	/tmp	/tmp
session.serialize_handler	php	php
session.use_cookies	On	On
session.use_only_cookies	Off	Off
session.use_trans_sid	0	0
Et voici une ligne de mon .htaccess :
Code :
1
2
# Interdiction des sessions dans l'url :
SetEnv SESSION_USE_TRANS_SID 0
Une âme charitable pour m'aider ?
D'où peut venir mon problème ?

Merci par avance,

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 22h24   #2
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Bonjour à tous,

Je continue de chercher une solution mais en vain.

Existe t'il une autre solution pour mettre ma session dans un cookie ?

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 11h36   #3
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Bonjour,
Voila qui parait bien compliqué !
Veux tu dire
1) que tu es en local
2) que tu utilises des ALIAS URL/NOM de DOMAINE
peux tu clarifier ceci merci.

La norme serait
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
 
[Session]
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =1
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = On
session.bug_compat_warn = On
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 12h02   #4
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci pour ta réponse.

Je ne suis pas en local.

Voici l'adresse de mon site :
http://www.dusk.fr/Paris/magazine.html

Mon site propose une navigation par ville.
Quand on fait le choix d'une ville dans la pré-home, on clique sur un lien qui amène sur une home page pour une ville donnée.

Une fois sur cette home page, je fais un GET pour récupérer le nom de la ville, je vérifie qu'elle existe bien dans ma base puis je définie l'ID de ma ville dans une session.

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
if (!isset($_SESSION['villeID'])) {
 
 
	if ( (isset($_GET['ville'])) && (!empty($_GET['ville'])) ) {
 
 
	$villeName				=  (isset($_GET['ville'])) ? trim($_GET['ville']) : null;
	$villeName				=  mysql_real_escape_string($villeName);
 
		$sqlQueryList			=
			" SELECT * ".
			" FROM VILLE_LIST ".
			" WHERE VILLE_NAME LIKE '$villeName'".
			" ORDER BY VILLE_ID ASC LIMIT 0,1"; 
			$reqList 			= mysql_query($sqlQueryList);
			$reqVilleResult		= mysql_fetch_array($reqList);
 
			if (!empty($reqVilleResult['VILLE_ID'])) { 
 
			$idSecteur 			= $reqVilleResult['VILLE_ID'];
			$_SESSION['villeID']	= $reqVilleResult['VILLE_ID'];
 
			}  else {
			$idSecteur 		= 4;
			}
A chaque nouvelle page je vérifie que la session existe bien, si ce n'est pas le cas je la redéfinie via mon GET + nom de ma ville.

Seulement voila, j'ai des url (toujours pour une ville donnée) qui ne contient pas le nom de la ville (donc pas de possibilité de faire un GET + nom de ma ville).

http://www.dusk.fr/video/Grégoire-l-interview_7.html

C'est à ce moment là que je me rend compte que je n'ai pas de session active puisque mon site est alors dirigé vers une ville par défaut

Code :
1
2
3
4
5
}  else {
 
	$idSecteur 		= 1; 
 
	}
Le fait d'avoir mes sessions dans mon url me posait des problèmes pour mon référencement donc j'ai opté pour des sessions dans un cookie.

Dans mon htaccess
Code :
1
2
# Interdiction des sessions dans l'url :
SetEnv SESSION_USE_TRANS_SID 0
Seulement, quand je navigue de cette page :
http://www.dusk.fr/Paris/magazine.html
à celle là
http://www.dusk.fr/video/Grégoire-l-interview_7.html
je me rends bien compte que ma session ne fonctionne pas ou n'est pas prise en compte.

Du coup je ne vois pas d'où peut venir le problème.

Aurais-tu une idée ?

Merci encore pour ton aide.

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 12h19   #5
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Ok je vois,
Retires ce que tu as mis dans le .htaccess, c'est dangeureux, car il créera
un cookies différent par répertoire, ou même ne marchera pas.
Ton php.ini devrait créer un cookies de session par domaine un point c'est tout !

Bien entendu dans TOUT tes PHP (sauf les php destinés a un include bien sur
tu doit mettre collé en haut
Code :
1
2
3
4
5
6
7
8
 
<?php
session_start();
//=========aucun autre paramétre !!
ensuite OK utilises tes sessions
$lieu = (isset($_SESSION['lieu'])) ? $_SESSION['lieu'] : '';
 
?>
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 13h07   #6
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci.

J'ai retiré le code de mon .htaccess mais ça ne fonctionne toujours pas.

Est-ce que mon code de gestion de session en php te parait correct ?

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
session_start();
 
/********************************************
 *			GESTION SECTEURS				*
 ********************************************/
// on récupére le secteur selectionné par le navigateur
 
if (!isset($_SESSION['villeID'])) {
 
 
	if ( (isset($_GET['ville'])) && (!empty($_GET['ville'])) ) {
 
 
	$villeName				=  (isset($_GET['ville'])) ? trim($_GET['ville']) : null;
	$villeName				=  mysql_real_escape_string($villeName);
 
		$sqlQueryList			=
			" SELECT VILLE_ID , VILLE_NAME ".
			" FROM VILLE_LIST ".
			" WHERE VILLE_NAME LIKE '$villeName'".
			" ORDER BY VILLE_ID ASC LIMIT 0,1"; 
			$reqList 			= mysql_query($sqlQueryList);
			$reqVilleResult		= mysql_fetch_array($reqList);
 
			if (!empty($reqVilleResult['VILLE_ID'])) { 
 
			$_SESSION['villeID']	= $reqVilleResult['VILLE_ID'];
			$idSecteur 				= $_SESSION['villeID'];
 
			}  else {
			$idSecteur 		= 4;
			} 
 
	}  else {
 
	$idSecteur 		= 1; 
 
	}
 
} elseif (isset($_SESSION['villeID'])) {
 
	$idSecteur = (isset($_SESSION['villeID'])) ? trim($_SESSION['villeID']) : null;
 
	if(!empty($idSecteur) && ctype_digit($idSecteur)) {
	$idSecteur				=  intval($idSecteur);
	}			
 
}
Car il me définit donc à priori il ne reconnait pas de session.

Merci beaucoup.

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 13h15   #7
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Confirmes moi que j'ais le PHP complet (sauf le login MySql bien sur)
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 13h29   #8
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
A vrai dire non car mon PHP est assez long.
Je le complète avec les infos concernant les sessions.

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
 
<? 
/* Autorisation de l'utilisation des cookies */
ini_set('session.use_cookies', "1"); 
/* Autorisation d'utiliser QUE les cookies */
ini_set('session.use_only_cookies', "1"); 
// Il s'agit de la durée au-delà de laquelle des données de session seront considérées comme périmées.
ini_set("session.gc_maxlifetime","3600");
 
session_start();
 
/********************************************
 *			GESTION SECTEURS				*
 ********************************************/
// on récupére le secteur selectionné par le navigateur
 
if (!isset($_SESSION['villeID'])) {
 
 
	if ( (isset($_GET['ville'])) && (!empty($_GET['ville'])) ) {
 
 
	$villeName				=  (isset($_GET['ville'])) ? trim($_GET['ville']) : null;
	$villeName				=  mysql_real_escape_string($villeName);
 
		$sqlQueryList			=
			" SELECT VILLE_ID , VILLE_NAME ".
			" FROM VILLE_LIST ".
			" WHERE VILLE_NAME LIKE '$villeName'".
			" ORDER BY VILLE_ID ASC LIMIT 0,1"; 
			$reqList 			= mysql_query($sqlQueryList);
			$reqVilleResult		= mysql_fetch_array($reqList);
 
			if (!empty($reqVilleResult['VILLE_ID'])) { 
 
			$_SESSION['villeID']	= $reqVilleResult['VILLE_ID'];
			$idSecteur 				= $_SESSION['villeID'];
 
			}  else {
			$idSecteur 		= 4;
			} 
 
	}  else {
 
	$idSecteur 		= 1; 
 
	}
 
} elseif (isset($_SESSION['villeID'])) {
 
	$idSecteur = (isset($_SESSION['villeID'])) ? trim($_SESSION['villeID']) : null;
 
	if(!empty($idSecteur) && ctype_digit($idSecteur)) {
	$idSecteur				=  intval($idSecteur);
	}			
 
}	
 
?>
Sinon mon code contient toute la gestion utilisateur, facebook connect, mes variables de date ... mais rien d'autre concernant les sessions.

Est-ce que la création d'un cookie pour l'identification des membres peut poser un problème ?

Merci encore.

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 13h51   #9
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Le cookies de données (un par nom de domaine) et le cookies de SESSION
(généralement un par domaine si tu n'as pas bidouillé les paramtres)
sont totalement indépendants !
Encore faut'il que ton php.ini soit paramétré de base, et que tu arrétes
vite vite ces ini_set(xxxxxxxxx
Bien pratiques mais idéal pour se planter !

Crois moi c'est enfantin de contrôler comment ça marche chez toi !
1) fais un a.php
Code :
1
2
3
4
5
6
7
<?php
session_start();
$lieu = (isset($_SESSION['lieu'])) ? $_SESSION['lieu'] : '';
echo "".$lieu."<br />";
$_SESSION['lieu']="je viens du A";
?>
<a href="b.php" >aller en B</a>
2) fais un b.php
Code :
1
2
3
4
5
6
7
<?php
session_start();
$lieu = (isset($_SESSION['lieu'])) ? $_SESSION['lieu'] : '';
echo "".$lieu."<br />";
$_SESSION['lieu']="je viens du B";
?>
<a href="a.php" >aller en A</a>
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 23h45   #10
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Ton code fonctionne chez moi

Par contre, pourrais-tu m'aider à adapter mon code de gestion de secteur car du coup je suis un peu largué ???

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
if (!isset($_SESSION['villeID'])) {
 
 
	if ( (isset($_GET['ville'])) && (!empty($_GET['ville'])) ) {
 
 
	$villeName				=  (isset($_GET['ville'])) ? trim($_GET['ville']) : null;
	$villeName				=  mysql_real_escape_string($villeName);
 
		$sqlQueryList			=
			" SELECT VILLE_ID , VILLE_NAME ".
			" FROM VILLE_LIST ".
			" WHERE VILLE_NAME LIKE '$villeName'".
			" ORDER BY VILLE_ID ASC LIMIT 0,1"; 
			$reqList 			= mysql_query($sqlQueryList);
			$reqVilleResult		= mysql_fetch_array($reqList);
 
			if (!empty($reqVilleResult['VILLE_ID'])) { 
 
			$_SESSION['villeID']	= $reqVilleResult['VILLE_ID'];
			$idSecteur 				= $_SESSION['villeID'];
 
			}  else {
			$idSecteur 		= 4;
			} 
 
	}  else {
 
	$idSecteur 		= 1; 
 
	}
 
} elseif (isset($_SESSION['villeID'])) {
 
	$idSecteur = (isset($_SESSION['villeID'])) ? trim($_SESSION['villeID']) : null;
 
	if(!empty($idSecteur) && ctype_digit($idSecteur)) {
	$idSecteur				=  intval($idSecteur);
	}			
 
}
Merci beaucoup par avance.

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 02h37   #11
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
La gestion tu l'a testé toi même doit étre en tête du PHP
Du moins le session_start !
En plus veilles a ne pas détruite tes valeures déjas enregistrées
dans cette page ou d'autres pages.
Pour cela utilises comme moi pour toutes tes variables de session
Code :
1
2
3
4
5
6
7
8
<?php
$villeID = (isset($_SESSION['villeID'])) ? $_SESSION['villeID'] : '' ;
//=======puis dans ta page n'utilises que la variable
if ($villeID!="") { //..... }
//====== ou 
$villeID="toto";
$_SESSION['villeID']=$villeID;
?>
Je te laisses revoir ta logique ça c'est ton probléme !
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 00h46   #12
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
J'ai bien appliqué tes conseils, j'ai vérifié de ne pas détruire mes valeurs enregistrées, à ne pas détruire ou écraser ma session mais rien n'y fait.

J'ai l'impression que ma session existe sur la page qui l'a défini mais qu'elle ne se transmet pas à la page suivante.

Pourtant ma gestion de session est en haut de page en dessous de mon session start mais rien n'y fait.

Voici mon code dans l'état actuel des modifs :

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
session_start();
 
/********************************************
 *			GESTION SECTEURS				*
 ********************************************/
// on récupére le secteur selectionné par le navigateur
 
$idSecteur = ""; 
 
$idSecteur = (isset($_SESSION['ville'])) ? $_SESSION['ville'] : '' ;
 
//Si la variable est vide alors on fait un GET et on crée la session
if (empty($idSecteur)) {
 
	if ( (isset($_GET['ville'])) && (!empty($_GET['ville'])) && (empty($idSecteur)) ) {
 
		$villeName				=  (isset($_GET['ville'])) ? trim($_GET['ville']) : null;
		$villeName				=  mysql_real_escape_string($villeName);
 
		$sqlQueryList			=
			" SELECT VILLE_ID , VILLE_NAME ".
			" FROM VILLE_LIST ".
			" WHERE VILLE_NAME LIKE '$villeName'".
			" ORDER BY VILLE_ID ASC LIMIT 0,1"; 
			$reqList 			= mysql_query($sqlQueryList);
			$reqVilleResult		= mysql_fetch_array($reqList);
 
			if (!empty($reqVilleResult['VILLE_ID'])) { 
 
			$_SESSION['ville']		= $reqVilleResult['VILLE_ID'];
			$idSecteur 				= $reqVilleResult['VILLE_ID'];
 
			}  else {
			$idSecteur 		= 4;
			}
 
	}  else {
	//Si la variable est vide, pas de session, pas de GET on définit un secteur par défaut	
	$idSecteur 		= 1; 
 
	}
 
}
Voici une partie de mon .htaccess si ça peut aider à trouver le problème :
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
68
69
70
71
72
73
74
75
76
77
78
# Utilisation de PHP5 :
SetEnv PHP_VER 5
 
# Définition charset en UTF8 :
AddDefaultCharset UTF-8
 
# Interdiction des sessions dans l'url :
SetEnv SESSION_USE_TRANS_SID 0
 
 
# MOD_DEFLATE COMPRESSION
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
#Pour les navigateurs incompatibles
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#ne pas mettre en cache si ces fichiers le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
#les proxies doivent donner le bon contenu
Header append Vary User-Agent env=!dont-vary
 
# BEGIN Expire headers
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 7200 seconds"
 ExpiresByType image/jpg "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 AddType image/x-icon .ico
 ExpiresByType image/ico "access plus 2592000 seconds"
 ExpiresByType image/icon "access plus 2592000 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 2592000 seconds"
 ExpiresByType text/javascript "access plus 2592000 seconds"
 ExpiresByType text/html "access plus 7200 seconds"
 ExpiresByType application/xhtml+xml "access plus 7200 seconds"
 ExpiresByType application/javascript A259200
 ExpiresByType application/x-javascript "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers
 
# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
 <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(css)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(js)$">
 Header set Cache-Control "max-age=2592000, private"
 </FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers
 
# KILL THEM ETAGS
Header unset ETag
FileETag none
 
# protect the htaccess file
<files .htaccess>
order allow,deny
deny from all
</files>
 
# protection de la lecture des répertoires
Options -Indexes
Aurais-tu une idée ?

Merci beaucoup !

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 09h35   #13
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Je ne comprends pas ta question, puisque je t'ais fais un test qui marche !
Tu ne dois donc rien changer sauf contrôler ton code !
Tes modifications .htaccess me paraissent sorties d'un autre temp.
Pourquoi par exemple mettre
SetEnv SESSION_USE_TRANS_SID 0
Alors qu'il est déjas dans ton php.ini

Le bricolage c'est ce qui reste le plus dangeureux en programmation !

d'autre part derriére
Code :
1
2
3
$_SESSION['ville']		= $reqVilleResult['VILLE_ID'];
//======mets
echo "session==> "$_SESSION['ville']." valeur ==>".$reqVilleResult['VILLE_ID'];
et dis moi ce que ça affiche
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 23h01   #14
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
J'ai rajouté la ligne de code mais à priori il y aurait une erreur de syntaxe :

Code :
1
2
 
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /homez.95/duskvnol/www/n63showtest.php on line 32
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 23h05   #15
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Tu aurais du le voir, manquait un "."

Code :
1
2
3
$_SESSION['ville']		= $reqVilleResult['VILLE_ID'];
//======mets
echo "session==> ".$_SESSION['ville']." valeur ==>".$reqVilleResult['VILLE_ID'];
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 23h27   #16
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Désolé la journée a été longue et j'ai les yeux en vrac.

Ca m'affiche le même résultat :
Code :
session==> 3 valeur ==>3
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 23h46   #17
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
donc la valeur est récupérable ! je ne comprends pas puisque mon test marche chez toi !
Peut-étre un include qui touche aus sessions assignées !
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 23h53   #18
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci pour ton aide.

Je pense que ça doit être ça.

J'ai fait un test en créant une page vierge et ça roule.
Mais dès lors que je le fais avec une page existante je perds mes sessions.

Je vais reprendre tout mon code.

Encore merci pour ton aide.

Quand j'aurai trouvé je posterai sur ce sujet.

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 22h50   #19
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Bonjour,

J'ai trouvé d'où vient le problème à ma perte de session.

Dans les pages où je perdais les sessions certains images ne s'affichaient pas (à cause de ma base qui n'était pas à jour).

Une fois les champs images de ma base complétés, je n'ai plus perdu ma session.

Par contre je ne vois pas du tout le rapport entre une image qui ne s'affiche pas et une perte de session.

Le principal c'est que mon problème soit résolu.

Merci en tout cas pour ton aide et ta patience.

Aurélien
__________________
Salutations à tous les amis du forum Développez

http://www.dusk.fr
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 01h37   #20
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
C' est parceque tu plante ton code par une erreur,
ce n'est pas l'image qui est en echo, mais le décalage qui en résulte des ouvertures et fermeture des balises ou code.
christele_r 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 09h19.


 
 
 
 
Partenaires

Hébergement Web