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
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SONDAGE..RE : SONDAGE.. par phpAnonyme
Cliquez pour lire la suite par phpAnonyme RE : SONDAGE..RE : SONDAGE.. par TychoBrahe
Cliquez pour lire la suite par TychoBrahe
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|