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 08/03/2006, 15h16   #1
Membre confirmé
 
Inscription : mars 2003
Messages : 674
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 674
Points : 242
Points : 242
Par défaut [Cookies] Problème avec GET

Bonjour.

Sur une page moteur.php j'appelle des pages en fonction de la langue sélectionnée
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
<?php
function template($page) {
//Version anglaise
if (isset($_GET['lg']) && $_GET['lg'] == 'en')
{
$index = "presentationEnglishVersion.php";
$ouvrir = fopen ($index, "rb"); // ouverture du fichier
$affichage = fread ($ouvrir, filesize ($index)); // lecture du fichier et stockage du skin dans une variable
fclose ($ouvrir); // fermeture du fichier
switch ($page) { 
case "EnglishVersion": $include = "accueil.inc"; break;
case "history": $include = "engl/history.inc"; break;
//affichage de la page d'accueil pas défaut
default:$include = "engl/home_page.inc";
}
}
//Version française
else
{
$index = "presentation.php";
$ouvrir = fopen ($index, "rb"); // ouverture du fichier
$affichage = fread ($ouvrir, filesize ($index)); // lecture du fichier et stockage du skin dans une variable
fclose ($ouvrir); // fermeture du fichier
// on s'occupe du contenu
switch ($page) { 
 
//menu vertical
case "historique_club":$include = "historique_club.inc"; break;
case "organisation_france":$include = "organisation_france.inc"; break;
//affichage de la page d'accueil pas défaut
default:$include = "accueil.inc";
}
}
$ouvrir = fopen ($include, "rb"); // ouverture du fichier
$contenu = fread ($ouvrir, filesize ($include)); // lecture du fichier et stockage du contenu dans une
 // variable
fclose ($ouvrir); // fermeture du fichier
// expression régulière pour le remplacement des variables
$affichage = ereg_replace("\[CONTENU\]", $contenu, $affichage); // remplacement de [CONTENU]
// on retourne le code à afficher
return $affichage;
}
?>
Donc à l'ouverture j'affiche la page presentation.inc Jusque là pas de problème. Quand je clic sur le drapeau anglais ma page presentationEnglishVersion.inc est bien affichée.
Le code de mes pages presentation.inc et presentationEnglishVersion.inc
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
	<TD align="center" WIDTH= 20%><a href="index.php?lg=fr"><img border="0" src="images/Logo.jpg" title="Revenir &agrave; la page d'accueil"></a>
	</TD>
	<TD align="center"><a href="index.php?lg=fr"><img border="0" src="images/yd_france.gif">
	</TD>  
	<TD align="center">
		<font size="5" color="blue" face="Palatino"><B>Club Europ&eacute;en de la Sant&eacute;</b></font><br>
			<font size="2" color="blue" face="Palatino">
			Association r&eacute;gie par la loi du 1er juillet 1901<br>
			Reconnue d'Utilit&eacute; Publique par D&eacute;cret du 9 ao&ucirc;t 1990<br>
			Dot&eacute;e du Statut Consultatif aupr&egrave;s du Conseil de l'Europe</FONT>
	</TD>
	<TD align="center"><a href="index.php?lg=en"><img border="0" src="images/yd_gr-bretagne.gif">
	</TD>
Le problème est quand je clic sur History dans ma page presentationEnglishVersion, il m'affiche la page presentation.inc

Un bout de code de ma page presentationEnglishVersion.inc
Code :
1
2
<dl id="menu" class="position" style="left: 0px; Top:111px">
	<dt onmouseover="javascript:montre();"><a href="index.php?page=history">History</a></dt>
Je pense que je perds $_GET['lg']="en" ou bien ma page moteur.php contient des erreurs et je ne sais pas comment faire pour conserver cette valeur.

Merci d'avance
philippef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2006, 15h22   #2
Membre régulier
 
Avatar de ashurai
 
Inscription : juillet 2004
Messages : 144
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2004
Messages : 144
Points : 88
Points : 88
je ne sais pas si j'ai tout bien saisis, mais pense tu à bien envoyer ton paramêtre 'lg' dans ta page ? Car si tu le "perd", c'est qu'il n'est pas transféré, le vois tu dans l'URL ?
ashurai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2006, 15h29   #3
Membre confirmé
 
Inscription : mars 2003
Messages : 674
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 674
Points : 242
Points : 242
affirmatif : quand ma souris passe sur History, mon url est :
index.php?page=history
philippef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2006, 15h30   #4
Membre régulier
 
Avatar de ashurai
 
Inscription : juillet 2004
Messages : 144
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2004
Messages : 144
Points : 88
Points : 88
ok, tu as ton $_GET['page'] mais pas de 'ln' !

Tu devrais avoir une URL comme ca :

Code :
index.php?page=history&ln=en
ashurai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2006, 15h38   #5
Membre confirmé
 
Inscription : mars 2003
Messages : 674
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 674
Points : 242
Points : 242
ok mais comment je fais pour conserver lg='en' ?
Ca c'est mon lien :

<a href="index.php?page=history">History</a>

comment je peux paramétrer lg='en' à l'intérieur de ça?
philippef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2006, 15h44   #6
Membre régulier
 
Avatar de ashurai
 
Inscription : juillet 2004
Messages : 144
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2004
Messages : 144
Points : 88
Points : 88
tu mets comme je t'ai dit avant, mais je l'ai mal écrit

Code :
index.php?page=history&lg=en
Si tu souhaite conserver ton contexte de language tu faire ca :

Code :
index.php?page=history<?php print (isset([$_GET['lg'])?'&ln='.[$_GET['lg']:'');?>
Si je peux emmettre un avis, conserver le contexte en GET, c'est pas top, un petit POST serait déja un peu mieux, et un cookie ce serait encore mieux !
ashurai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2006, 15h56   #7
Membre confirmé
 
Inscription : mars 2003
Messages : 674
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 674
Points : 242
Points : 242
Citation:
Envoyé par ashurai
tu mets comme je t'ai dit avant, mais je l'ai mal écrit

Code :
index.php?page=history&lg=en
Si tu souhaite conserver ton contexte de language tu faire ca :

Code :
index.php?page=history<?php print (isset([$_GET['lg'])?'&ln='.[$_GET['lg']:'');?>
Si je peux emmettre un avis, conserver le contexte en GET, c'est pas top, un petit POST serait déja un peu mieux, et un cookie ce serait encore mieux !
J'ai pris la 1ere solution qui me va bien. En plus j'ai jamais utilisé les cookies
philippef 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 13h08.


 
 
 
 
Partenaires

Hébergement Web