Accueil > Forum > > > > Redirection langue
Redirection langue
mardi 26 février 2008 à 20:20:45 |
Redirection langue

sofianemad
|
bonjour, j'ai tout essayé et je n'arrive pas a faire quelque chose qui me semble simple malgres tout les codes qui tourne sur le net concernant les redirections par rapport a la langue du navigateur. j'ai une page php dans laquelle je veux integrer un script qui : dans le cas ou le visiteur est français : ne fait aucune redirection et continu a lire le reste de la page. dans le cas ou le visiteur est non francophone anglais, allemand ou tout origine possible il soir redirigé vers unu autre adresse. merci de votre aide je sais que ça parait basic et que beaucoup de script de ce type tourne sur le net mais souvent dans l'idée que l'on a créer une page specialement pour la redirection la ce n'est pas le cas je veux absolument qu'il continu a developper le reste de la page. Merci a vous !
|
|
mardi 26 février 2008 à 20:47:46 |
Re : Redirection langue

nicomilville
|
Réponse acceptée !
Salut, premièrement un petit morceau de code serai le bienvenue et deuxièmement il serai bien de donner un peu plus d'infos du genre : Comment sait on si le visiteur est français ou pas ? Si t'a besoin d'aide, MP !!!

|
|
mardi 26 février 2008 à 21:00:06 |
Re : Redirection langue

sofianemad
|
Réponse acceptée !
le premier code fonctionne mais il ne prend en compte qu'une langue du
genre si tu es anglais je te redirige vers le site en version anglaise.
j'ai essayer de le bidouiller mais rien a faire impossible de lui
demander de faire une redirection pr toutes les langues hormis le
français.
[code]<?php
if (!isset($Langue)) {
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$Langue = strtolower(substr(chop($Langue[0]),0,2));
} else {
$Langue = "en"; // Langue par défaut, des fois que l'en-tête n'aie pas été initialisée
}
} else {
$Langue="en";
}
if ($Langue=='en') {
header( "Location: http://www.moredancehall.com/en/");
exit();
}
?>
[/code]
le deuxieme fonctionne mais le probleme c'est que je redirige vers la
meme pages que le script du coup ça fait une boucle et il ne trouve
pas.
[code]<?php
// récupère la variable langage si elle existe
if (eregi($HTTP_ACCEPT_LANGUAGE,"fr"))
// redirige vers la page
{header("location:index.php");}
// Sinon la varible n'existe pas et on redirige
else
{header("location:http://www.moredancehall.com/en/");}
?>
[/code]
|
|
mardi 26 février 2008 à 21:14:55 |
Re : Redirection langue

Evangun
|
Réponse acceptée !
Ho là là mais nicomilville, sérieux t'es toujours à côté de la plaque... tu n'aides pas les gens sur phpcs, c'est le contraire, alors je ne te le dis pas méchamment, mais tu devrais sérieusement songer à apprendre à programmer avant de donner des conseils, parce qu'ils ne servent à rien et tu fais perdre du temps à ceux qui te lisent. C'est pas la première fois qu'on te le dit en plus, mais après 200 messages postés ici, tu racontes toujours n'importe quoi, alors fais quelque chose. Il y a d'autres gens ici qui eux donneront les bonnes réponses.
sofianemad : en haut de ta page tu mets (ou tu fais un include) :
$languages = array('en', 'fr')
if(!isset($_COOKIE['language']) or !in_array($_COOKIE['language'], $languages)){ if(in_array(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2), $languages)){ setcookie('language', strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2))); $_COOKIE['language'] = strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)); } else { setcookie('language', 'en'); $_COOKIE['language'] = 'en'; } }
et dans tout le reste de ta page, tu utilises $_COOKIE['language'] à ta convenance pour traduire en anglais ou en français, ou rediriger avec. Si le mec est français, le cookie vaudra 'fr'. sinon et par défaut, ça vaudra 'en'.
Ce code n'est qu'un début, tu peux largement l'améliorer pour qu'il convienne à tes besoins.
à+
|
|
mardi 26 février 2008 à 22:10:54 |
Re : Redirection langue

sofianemad
|
merci Evangun pr ta reponse qui est beaucoup plus concrete.
cela dit je ne vois pas vraiment comment utiliser ce code mon blog français se trouve à cette adresse http://www.moredancehall.com et le blog anglais a cette adresse http://www.moredancehall.com/en/.
est il possible tout simplement sans utiliser les cookies de faire une redirection de ce type qui fonctionne :
<?php
// récupère la variable langage si elle existe if (eregi($HTTP_ACCEPT_LANGUAGE,"fr")) // redirige vers la page {header("location:index.php");} // Sinon la varible n'existe pas et on redirige else {header("location:http://www.moredancehall.com/en/");}
?>
cela dit lorsque l'on est un visiteur français ça créé une boule et rend la page introuvable. existe il une fonction que je peut placer dans ce code qui pourrait eviter cette boucle et le faire marcher convenablement ça serait beaucoup plus simple. je sais que cette fonction existe mais comment l'utiliser alors la je n'en ai aucune idée ...
merci encore Evangun
|
|
mardi 26 février 2008 à 22:49:47 |
Re : Redirection langue

Evangun
|
Non, je te conseille d'utiliser ce que j'ai mis. Déjà pour ne pas utiliser le eregi dont tu parles qui consomme des resources, et en plus pour ne pas recalculer la langue à chaque chargement de page.
Pourquoi n'utiliserais-tu pas ce que j'ai dit ? une difficulté ?
$languages = array('en', 'fr')
if(!isset($_COOKIE['language']) or !in_array($_COOKIE['language'], $languages)){ if(in_array(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2), $languages)){ setcookie('language', strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2))); $_COOKIE['language'] = strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)); } else { setcookie('language', 'en'); $_COOKIE['language'] = 'en'; } }
if($_COOKIE['language'] == 'fr'){header ( site fr ) } elseif($_COOKIE['language'] == 'en'){header ( site en ) }
|
|
mardi 26 février 2008 à 22:56:00 |
Re : Redirection langue

Evangun
|
C'est vrai que l'utilisation des cookies n'est pas nécessairement utile dans ton cas... mais en général on ne fait qu'une seule page php qui affiche soit en anglais, soit en français, c'est pour ça que j'utilise des codes qui ressemblent à ça. Mais bon, ça marchera dans ton cas, et autant le garder sous le coude pour le jour où tu en auras besoin. à+
|
|
mardi 26 février 2008 à 23:47:34 |
Re : Redirection langue

sofianemad
|
effectivement pour ce que tu dis une seul page php c'est le mieux pr afficher les deux mais ce code je veux l'utiliser pour un blog dotclear en faite et le meilleur moyen d'avoir une version anglaise et une française c'etait d'installer deux version avec deux base sql differente de maniere a ce que le contenu puisse differé, j'avoue c'est peut etre une methode de faineant mais ça me convient dans l'utilisation sinon le code que tu m'as fourni ne fonctionne pas en ajoutant les url.
il me met : Parse error: parse error, unexpected T_IF in /md/index.php on line 4
a++
|
|
mardi 26 février 2008 à 23:59:06 |
Re : Redirection langue

Evangun
|
il manque un point-virgule à la première ligne :p
|
|
Cette discussion est classée dans : page, langue, redirection, cas, tourne
Répondre à ce message
Sujets en rapport avec ce message
problème de redirection [ par kwak ]
Bonjour à tous,je me trouve depuis quelques temps déjà confronté à un problème de redirection. Ici le problème se pose pour rediriger l'utilisateur se
redirection [ par jbardet ]
bonjour,Je veux faire une redirection sur une autre page en fonction d'un booléen...J'ai fait: (balise smarty qui annonce php) if ($plusieurs
redirection [ par ouiouiteur ]
comment rediriger une page vers :-soit une page sur mon serveur chez moi, si ma connexion est active-soit vers une page sur un hebergeur gratuit pour
[php] Redirection [ par Trigun222 ]
Salut,j'aimerais savoir comment modifier ce codeset_time_limit(0);sleep(3600);header("location: http://www.monsite.com/mapage.php/");?> pour que la pa
Redirection timer... [ par MAsterC ]
Salut à tous,je suis en train de faire une page en PHP et je voudrai mettre un redirection à l'aide d'un Timer..Exemple: Un redirection de site s'eff
questionnaire avec vérification des réponses et redirection URL [ par lodie7 ]
Je suis débutante en php et je dois créer un questionnaire pour des enfants, suivant si ils ont bien répondu ou non, ils sont redirigés vers une page
récuperer une variable après redirection auto ? [ par etudianto ]
Voilà, j'ai un formulaire par lequel je passe une valeur que je recupère sur une page par la méthode : Vous avez choisi : <?php echo $_POST["valeu
probleme de redirection [ par ehmarc ]
salutje doit effectuer une redirection en plein milieu de ma page, c'est à dire je valide mon formulaire et si le formulaire est valider je vais sur u
Redirection sur une page [ par Kleidp ]
Bonjour,j'aimerais avec php rediriger une page web, comment faire ?
Redirection de page [ par oberown ]
Comment faire une redirection de page ?Le problème avec header() on est obligé de l'utiliser tant qu'on a pas fait de html, or justement le problème j
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
HTML VERS PDFHTML VERS PDF par spike911
Cliquez pour lire la suite par spike911
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|