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

  1. #1
    Membre habitué 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
    Points : 125
    Points
    125
    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
    Have Fun

  2. #2
    Membre habitué 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
    Points : 125
    Points
    125
    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?
    Have Fun

  3. #3
    Membre expérimenté
    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
    Points : 1 500
    Points
    1 500
    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 averti Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Points : 307
    Points
    307
    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';
    "Un remboursement des programmes défectueux serait envisageable mais toute l'industrie du logiciel ferait faillite la première année." Andrew Tanenbaum.

  5. #5
    Membre habitué 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
    Points : 125
    Points
    125
    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
    Have Fun

  6. #6
    Membre expérimenté
    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
    Points : 1 500
    Points
    1 500
    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 habitué 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
    Points : 125
    Points
    125
    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...
    Have Fun

  8. #8
    Membre expérimenté
    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
    Points : 1 500
    Points
    1 500
    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.

  9. #9
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    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)

  10. #10
    Membre habitué 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
    Points : 125
    Points
    125
    Par défaut
    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 : 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.

    J'avais zappé le CSS! C'est une excellente idée! merci!
    Have Fun

+ 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