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 29/06/2006, 18h39   #1
Membre régulier
 
Avatar de Bobybx
 
Inscription : avril 2005
Messages : 121
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : avril 2005
Messages : 121
Points : 91
Points : 91
Envoyer un message via MSN à Bobybx
Par défaut modifier une variable session en cliquant sur une image

bonjour,

j'explique mon souci:

J'ai une page disponible en francais, anglais, et autres langues.
Je souhaiterais lorsqu'on clique sur une image que la variable $_SESSION['lang'] change et recharge la page sur laquelle elle est.

Exemple :
Je suis sur coucou.php avec $_SESSION['lang'] = fr;
si je clique sur mon petit drapeau anglais, je souhaiterais être redirigé sur coucou.php avec $_SESSION['lang'] = en;

Est-ce possible?

Merci d'avance
Bobybx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 19h34   #2
Membre régulier
 
Avatar de Bobybx
 
Inscription : avril 2005
Messages : 121
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : avril 2005
Messages : 121
Points : 91
Points : 91
Envoyer un message via MSN à Bobybx
J'ai une solution bidouille qui consisterait à créer un forumulaire avec un submit sur l'image d'un champ hidden.

Mais existe-t-il une solution plus simple à votre humble avis de développeur?
Bobybx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 20h17   #3
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Bah oui quand tu cliques sur l'image tu rediriges vers un ficier langue.php avec comme variable la langue: langue.php?lang=en
Sur ce fichier tu récupères cette variable et tu rediriges:

Code :
1
2
$_SESSION['lang'] = $_GET['lang'];
header("Location: coucou.php");
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 20h30   #4
Membre confirmé
 
Avatar de Amine_sas
 
Étudiant
Inscription : juin 2005
Messages : 245
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 245
Points : 295
Points : 295
Envoyer un message via Yahoo à Amine_sas Envoyer un message via Skype™ à Amine_sas
Citation:
Envoyé par Bobybx

Exemple :
Je suis sur coucou.php avec $_SESSION['lang'] = fr;
si je clique sur mon petit drapeau anglais, je souhaiterais être redirigé sur coucou.php avec $_SESSION['lang'] = en;

une solution en envoyant la langue a utiliser via une URL:

<a HREF="coucou.php?langue=en"> <img src="le_chemin_de_l'image"> </a>

tu recoit la variable 'langue' dans le meme script coucou.php par $_GET et l'affecte a $_SESSION['lang']:

$_SESSION['lang'] = $_GET['langue'];

tu peux par exemple definir une langue par defaut en agissant ainsi:

if ( empty($_GET['langue']))
$_SESSION['lang']='fr';
Amine_sas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 21h10   #5
Membre régulier
 
Avatar de Bobybx
 
Inscription : avril 2005
Messages : 121
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : avril 2005
Messages : 121
Points : 91
Points : 91
Envoyer un message via MSN à Bobybx
Il est vrai que je ne l'avais pas précisé donc je vous remercie pour vos réponses mais j'aurai souhaité ne pas passé par une méthode get car je ne souhaite pas modifier l'url.

Je me demandais donc si on pouvait faire une sorte de onClick="$_SESSION['lang']= 'fr'" sur l'image, mais sur une version n'utilisant pas de javascript.

Sans modification de l'url, je pense que le formulaire par post est inéluctable pour résoudre mon souci
Bobybx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 22h33   #6
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Soit AJAX mais ce qui est javascript.
Sinon tu peux faire ton formulaire et un lien qui envoit les données (javascript):

Code :
1
2
3
4
<form>
<input hidden fr>
<a OnClick="document.le_formulaire.submit();">Français</a>
</form>
Sans aucun javascript il faut faire un bouton submit mais c'est pas esthétique...

Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 00h13   #7
Membre régulier
 
Avatar de Bobybx
 
Inscription : avril 2005
Messages : 121
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : avril 2005
Messages : 121
Points : 91
Points : 91
Envoyer un message via MSN à Bobybx
Citation:
Envoyé par Anduriel
Soit AJAX mais ce qui est javascript.
Sinon tu peux faire ton formulaire et un lien qui envoit les données (javascript):

Code :
1
2
3
4
<form>
<input hidden fr>
<a OnClick="document.le_formulaire.submit();">Français</a>
</form>
Sans aucun javascript il faut faire un bouton submit mais c'est pas esthétique...

Javascript ça craint si le client a désactivé.
Le bouton submit, c'est moche

Bon ben on va partir sur du javascript, pas de php pour modifier via une image une variable $_SESSION... dommage...
Bobybx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 10h41   #8
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Non mais en fait tu peux très bien faire un beau bouton submit avec du CSS, comme une simple image:

Code :
1
2
3
4
5
6
7
.button_image {
   border: none;
   background-image: url(ton_image_fr.jpg);
   background-repeat: no-repeat;
   width: (largeur_image)px;
   height: (hauteur_image)px;
}
Un truc dans le genre devrait aller.
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 12h04   #9
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
car je ne souhaite pas modifier l'url
La solution de Anduriel / Amine est transparente pour l'utilisateur, il ne verra pas la langue dans l'URL (si c'est ce qui pose problème)...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2006, 18h32   #10
Membre régulier
 
Avatar de Bobybx
 
Inscription : avril 2005
Messages : 121
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : avril 2005
Messages : 121
Points : 91
Points : 91
Envoyer un message via MSN à Bobybx
Citation:
Envoyé par Anduriel
Non mais en fait tu peux très bien faire un beau bouton submit avec du CSS, comme une simple image:

Code :
1
2
3
4
5
6
7
.button_image {
   border: none;
   background-image: url(ton_image_fr.jpg);
   background-repeat: no-repeat;
   width: (largeur_image)px;
   height: (hauteur_image)px;
}
Un truc dans le genre devrait aller.

J'avais zappé le CSS! C'est une excellente idée! merci!
Bobybx 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 00h12.


 
 
 
 
Partenaires

Hébergement Web