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

ASP Discussion :

redirection en fonction la langue


Sujet :

ASP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut redirection en fonction la langue
    bonjour,
    J'aimerai connaitre la syntaxe pour que lorsque je clik sur un drapeau represantant la langue a afficher il me redirige vers la meme page mais en changeant la session("langue"), préalablement définie.
    Voila
    Merci!

    Ou alors dois je passer par le javascript?


    en fait non c'est plus subtile que cela car mes drapeaux seront dans un .asp et dans mes pages principales je ferais un include de cette page avec les drapeaux, donc o click sur le drapeau anglais, par exemple, il me recharge la meme page mais en passant ma session("langue")=en.

  2. #2
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    tu initialises tes sessions depuis le global.asa, avec lock et unlock?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    euh non...
    je les initialise a l'appel de ma page :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!-- #include File="../Includes/DS_SESSION.asp"-->

    et dans cette page j'ai:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session("Langue")=request.servervariables("HTTP_ACCEPT_LANGUAGE")

    la pour moi je recupere 'fr' et j'aimerais lorsqu'on click sur le drapeau en question il me rappelle la page sur laquelle je suis en faisant juste session ("langue")='en' par exemple.

  4. #4
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    oK pour DHTML et javascript sur le bouton avec passage de la lange en param,
    appel d'une fonction javascript dans le head genre
    function recharge(paramLg)
    {
    location.href="mapage.asp?"+paramLg
    }
    lecture (après ton include)du querystring pour mettre à jour la session

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    excuse mais j'ai pas trop compris ce que tu veux me faire faire....
    pourrais tu etre un petit peu plus precis....
    Merci tout de meme de prendre du temps pour mon probleme!

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    par ce que le truc c'est que je sois sur une page en anglais ou en francais, cette page a toujours le meme nom!
    tout mes textes sont dans une base sql server qui se charge justement en fonction de session("langue")....

  7. #7
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Est ce que j'ai bien compris
    1 page (pageA.asp) est composée:
    un include pour les drapeaux
    un include pour les sessions

    si je clique sur un drapeau je recharge la pageA.asp?Drapeaux=Eng
    sur les drapeaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    .....
    onClick = "rechargePage('Eng')"
    ...
    Dans le HEAD de ta page la fonction Javascript
    function rechargePage(ParamLg)
    {
    location.href="pageA.asp?langue="+ParamLg
    }
     
     
    <!-- #include File="../Includes/DS_SESSION.asp"-->
    <%if request.querystring("langue")<>"" then
    'mise à jour session
    Session("Langue")= request.querystring("langue")
    end if
    %>

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    donc j'ai bien une page, par exmple home.asp, dans laquelle suivant la session("langue") les textes s'affichent soit en francais, soit en anglais (requete par rapport a ma base sql server).

    dans ma page home.asp, donc j'ai en premier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!-- #include File="../Includes/DS_SESSION.asp"-->
    avec ds ce fichier DS_SESSION.asp j'ai juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session("Langue")=request.servervariables("HTTP_ACCEPT_LANGUAGE")
    de tel sorte que sous ie en france je recupere 'fr' avec lequel je vais pouvoir attaquer ma base.


    Ensuite dans cette meme page, dans mon body j'aimerai avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!-- #include File="../Includes/MenuLangue.asp"-->
    avec ds ce fichier menulangue :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <link href="../../groupeleduff.css" rel="stylesheet" type="text/css">
    	<table border=0 summary="">
    	<tr>
    		<td class="textBlanc">Language :</td>
    		<td><img src="drapeau_fr.gif" width="20" height="16"></td>
    		<td><img src="drapeau_en.bmp" width="20" height="16"></td>
    	</tr>
    </table>
    voila!

    et donc au clique sur le drapeau anglais il me passe la session("langue")='en' et me recharge home.asp.
    MAIS ce fichier MenuLangue.asp sera appelé pour plusieurs page dans mon site et donc il faudrait rediriger vers la page visitée (pas toujours home.asp, cela dépend ou l'on se trouve sur le site.)

  9. #9
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    tu peux recupérer le nom de ta page en cours de consultation:
    avec Request.ServerVariables(PATH_INFO) (faudra sans doute spliter path_info /)

    dans la fonction javascript
    location.href="<%=response.write Request.ServerVariables(PATH_INFO) %>+"?langue="+ParamLg

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    Re bonjour,
    voila en fait je ne comprends pas bien ton :

    location.href="<%=response.write Request.ServerVariables(PATH_INFO) %>+"?langue="+ParamLg

    cela revient a session("langue")="en", ou bien?


    et si je met cela dans mon include il me donne le chemin de mon include ou de la page ds laquelles est appelée mon include?

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    Est ce que j'ai bien compris
    1 page (pageA.asp) est composée:
    un include pour les drapeaux
    un include pour les sessions

    si je clique sur un drapeau je recharge la pageA.asp?Drapeaux=Eng
    sur les drapeaux

    Code :

    .....
    onClick = "rechargePage('Eng')"
    ...
    Dans le HEAD de ta page la fonction Javascript
    function rechargePage(ParamLg)
    {
    location.href="pageA.asp?langue="+ParamLg
    }


    <!-- #include File="../Includes/DS_SESSION.asp"-->
    <%if request.querystring("langue")<>"" then
    'mise à jour session
    Session("Langue")= request.querystring("langue")
    end if
    OK, vraiment désolé totoche!!
    Ca marche parfaitement et je t'en remercie enormément!!!
    Bonne journée a toi!

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

Discussions similaires

  1. Redirection en fonction de la langue
    Par Granon dans le forum Référencement
    Réponses: 3
    Dernier message: 23/10/2009, 23h36
  2. Réponses: 3
    Dernier message: 09/10/2007, 02h50
  3. Redirection en fonction de l'extension de l'URL
    Par Mr Hyde dans le forum Autres langages pour le Web
    Réponses: 3
    Dernier message: 20/09/2005, 14h01
  4. Redirection en fonction d'un formulaire
    Par kmayoyota dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/03/2005, 11h14
  5. Redirection en fonction d'un critere Access
    Par alfigor dans le forum ASP
    Réponses: 4
    Dernier message: 23/04/2004, 09h34

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