IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

modifier une variable session en cliquant sur une image


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Bobybx
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2005
    Messages : 122
    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

  2. #2
    Membre confirmé Avatar de Bobybx
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2005
    Messages : 122
    Par défaut
    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?

  3. #3
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['lang'] = $_GET['lang'];
    header("Location: coucou.php");

  4. #4
    Membre expérimenté Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Par défaut
    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';

  5. #5
    Membre confirmé Avatar de Bobybx
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2005
    Messages : 122
    Par défaut
    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

  6. #6
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Soit AJAX mais ce qui est javascript.
    Sinon tu peux faire ton formulaire et un lien qui envoit les données (javascript):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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...


  7. #7
    Membre confirmé Avatar de Bobybx
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2005
    Messages : 122
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  8. #8
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Non mais en fait tu peux très bien faire un beau bouton submit avec du CSS, comme une simple image:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre une variable dans l'appel d'une variable de session
    Par PrinceMaster77 dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2011, 10h12
  2. [PPT-2007] Incrémenter la valeur d'une variable suite au clic sur une forme.
    Par BrItneY dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 07/09/2010, 14h48
  3. Réponses: 2
    Dernier message: 23/01/2008, 22h10
  4. Réponses: 7
    Dernier message: 08/03/2007, 09h23
  5. Réponses: 1
    Dernier message: 17/01/2007, 21h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo