Obligé de cliquer une seconde fois
Résolu
Unavailable
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention - 16 nov. 2011 à 10:09
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention - 16 nov. 2011 à 10:09
A voir également:
- Obligé de cliquer une seconde fois
- Différence entre 1 million et 1 milliard en seconde - Accueil - Technologies
- Imprimer plusieurs fois la même image sur une page ✓ - Forum Logiciels
- Dell clignote 4 fois blanc 2 fois orange - Forum PC portable
- Paiement 4 fois cdiscount impossible - Forum Consommation & Internet
- Ma souris clique 2 fois - Forum souris / Touchpad
18 réponses
Hello,
Je fais une petit remarque où je pense que j'ai raison :
Un domaine se terminant en .fr ne fonctionne que en France.
En revanche un domaine en .com, fonctionne dans le monde entier.
Donc si tu fais : http://virtual-it.fr/
Certes ta page sera en espagnol, mais l'espagnol ne pourra pas accéder à ton site car il se termine en .fr.
Si tu aurais fais http://es.virtual-it.com, ça aurait marcher. Car quand j'étais en Allemagne, je ne pouvais qu'accéder au site terminant .de, et lors que j'allais sur un site .fr, cela faisait une redirection.
Je fais une petit remarque où je pense que j'ai raison :
Un domaine se terminant en .fr ne fonctionne que en France.
En revanche un domaine en .com, fonctionne dans le monde entier.
Donc si tu fais : http://virtual-it.fr/
Certes ta page sera en espagnol, mais l'espagnol ne pourra pas accéder à ton site car il se termine en .fr.
Si tu aurais fais http://es.virtual-it.com, ça aurait marcher. Car quand j'étais en Allemagne, je ne pouvais qu'accéder au site terminant .de, et lors que j'allais sur un site .fr, cela faisait une redirection.
Non je crois que c'est accessible de partout... En revanche cela ne réserve pas les autres noms de domaine.
[Edit] la preuve c'est qu'en france du as accès aux autres site, ex : http://www.site.it/
[Edit] la preuve c'est qu'en france du as accès aux autres site, ex : http://www.site.it/
j'ai mis un sous domaine http://virtual-it.fr/ j'ai déjà test avec le changement de localisation de firefox et ça marche la dessus pas de soucis
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai inclus un module de détection de la langue dont le code est le suivant :
il marche très bien mais me bloque du coup le premier clic du changement de langue vu que ça renvoie tout le module de récupération de la langue demandé (qui consiste en un simple changement de sous domaine)
y a t il un moyen de changer ce code ou de le mettre ailleurs? actuellement il est dans le header avant la balise <head>
<?php if (!isset($langue_user) && !isset($_SESSION["ch_langue"])){ $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2); switch($langue_user) { case"fr": $_SESSION["ch_langue"] = "fr"; header ("Location: http://virtual-it.fr/"); break; case "en": $_SESSION["ch_langue"] = "en"; header ("Location: http://virtual-it.fr/"); break; case "es": $_SESSION["ch_langue"] = "es"; header ("Location: http://virtual-it.fr/"); break; default: $_SESSION["ch_langue"] = "en"; header ("Location: http://virtual-it.fr/"); break; } } ?>
il marche très bien mais me bloque du coup le premier clic du changement de langue vu que ça renvoie tout le module de récupération de la langue demandé (qui consiste en un simple changement de sous domaine)
y a t il un moyen de changer ce code ou de le mettre ailleurs? actuellement il est dans le header avant la balise <head>
Et ce post alors : https://forums.commentcamarche.net/forum/affich-23602191-probleme-d-actualisation-d-un-div#p23604530 ?
J'en croyais qu'en passant en sous-domaines c'était résolu ?
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
J'en croyais qu'en passant en sous-domaines c'était résolu ?
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
rassure toi, moi aussi. Mais en passant en sous domaine j'ai aussi changé les boutons et maintenant le soucis c'est pas a chaque changement de langue mais a la première utilisation du site la première fois qu'on clique sur les liens de langue ça bug et à ce que je crois avoir compris ça vient du script de détection auto de la langue, mais je ne peu pas l'enlever il est assez important.
Et quand j'ai mis [Résolu] sur mon ancien post, j'avoue que je ne pensais pas que ce problème ait été masqué par le cache du navigateur (vu que j'ai navigué sur toutes les pages du site y a peu de chance qu'il me refuse) la nature du problème ayant changé et que j'ai mis le post en résolu je ne savais pas trop que choisir entre faire un nouveau sujet ou réécrire dans un sujet en résolu ne demandant pas de réponses de par sont statuts du coup j'ai eu la souris trop rapide et ai été berné par mon cache
Et quand j'ai mis [Résolu] sur mon ancien post, j'avoue que je ne pensais pas que ce problème ait été masqué par le cache du navigateur (vu que j'ai navigué sur toutes les pages du site y a peu de chance qu'il me refuse) la nature du problème ayant changé et que j'ai mis le post en résolu je ne savais pas trop que choisir entre faire un nouveau sujet ou réécrire dans un sujet en résolu ne demandant pas de réponses de par sont statuts du coup j'ai eu la souris trop rapide et ai été berné par mon cache
Par contre sachant que tes liens renvoient déjà vers en ; www ou es, je ne vois pas l'intéret de réutiliser des header derrière ?
tu connaîtrais une fonction pour seulement les use la première fois?
Essaye ça (sans conviction aucune) :
<?php if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]) && !isset($_SESSION["ch_langue"])){ $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2); switch($langue_user) { case"fr": $_SESSION["ch_langue"] = "fr"; header ("Location: http://virtual-it.fr/"); break; case "en": $_SESSION["ch_langue"] = "en"; header ("Location: http://virtual-it.fr/"); break; case "es": $_SESSION["ch_langue"] = "es"; header ("Location: http://virtual-it.fr/"); break; default: $_SESSION["ch_langue"] = "en"; header ("Location: http://virtual-it.fr/"); break; } } ?>
non ça ne marche pas :( (je te le laisse en ligne pour que tu vois ça dit moi quant je peu le rechanger)
Et ça ?
<?php if (!isset($_SESSION["notFirstVisit"]) || $_SESSION["notFirstVisit"]!=true){ if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]) && !isset($_SESSION["ch_langue"])){ $_SESSION["notFirstVisit"] = true; $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2); switch($langue_user) { case"fr": $_SESSION["ch_langue"] = "fr"; header ("Location: http://virtual-it.fr/"); break; case "en": $_SESSION["ch_langue"] = "en"; header ("Location: http://virtual-it.fr/"); break; case "es": $_SESSION["ch_langue"] = "es"; header ("Location: http://virtual-it.fr/"); break; default: $_SESSION["ch_langue"] = "en"; header ("Location: http://virtual-it.fr/"); break; } } } ?>
il faudrait en faite que ce code ne soit utilisé que la première fois qu'on entre sur le site (ou que le cache est vide) mais après il ne faut surtout pas qu'il ressorte du tiroirs
https://forums.commentcamarche.net/forum/affich-23613427-oblige-de-cliquer-une-seconde-fois#16
j'ai un peu réfléchi a ce commentaire et je me suis dit que le switch que j'appelle après est la raison de ce soucis je m'explique:
le header a fait son boulot => il a chargé la langue en fonction de la langue du navigateur
le switch (dans le footer) pose problème vu qu'il recharge la page encore une fois avec le header
là ou ça ne va plus c'est qu'il n'a pas gardé en mémoire le faîte que je change de langue et non que je demande une nouvelle page avec une réutilisation du header je demande juste un changement de sous-domaine qui me permettrais de changer la langue
j'ai un peu réfléchi a ce commentaire et je me suis dit que le switch que j'appelle après est la raison de ce soucis je m'explique:
le header a fait son boulot => il a chargé la langue en fonction de la langue du navigateur
le switch (dans le footer) pose problème vu qu'il recharge la page encore une fois avec le header
là ou ça ne va plus c'est qu'il n'a pas gardé en mémoire le faîte que je change de langue et non que je demande une nouvelle page avec une réutilisation du header je demande juste un changement de sous-domaine qui me permettrais de changer la langue
slt
Au cas où :
Sans les cookies, le chargement mouline et j'obtiens :
"La page n'est pas redirigée correctement" (message Firefox)
As-tu ou avez-vous testés (ceux qui aident) avec les cookies désactivés ?
Les cookies ne sont-ils pas un problème pour la redirection ?
En tout cas, le site est inaccessible sans les cookies.
(Perso, par défaut, je désactive les cookies, pas de référer, pas de script, ... = Addons)
Au cas où :
Sans les cookies, le chargement mouline et j'obtiens :
"La page n'est pas redirigée correctement" (message Firefox)
As-tu ou avez-vous testés (ceux qui aident) avec les cookies désactivés ?
Les cookies ne sont-ils pas un problème pour la redirection ?
En tout cas, le site est inaccessible sans les cookies.
(Perso, par défaut, je désactive les cookies, pas de référer, pas de script, ... = Addons)
finalement j'ai opté pour un peu de cookie et ça marche^^ je donne le code pour ceux qui m'ont aidé:
<?php $langue = new Zend_Session_Namespace('langue'); if (!isset($_COOKIE["virtual"])) { $array_code = array('fr','en','es'); setcookie('virtual', 'langue', time() + 7200, '/', '.virtual-it.fr'); $langue_user = $code = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2); $langue_user = (in_array($langue_user, $array_code)) ? $langue_user : 'en'; $langue_user = ($langue_user == 'fr') ? 'www' : $langue_user; if ($code != $langue->code) header ("Location: http://$langue_user.virtual-it.fr"); } ?>