cs_gaillardo
Messages postés22Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention22 septembre 2008
-
3 août 2007 à 14:32
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 2012
-
8 août 2007 à 18:28
Bonjour à tous,
J'ai un petit problème avec une détection de navigateur avec getenv("HTTP_USER_AGENT") qui fonction bien en local avec easyPHP mais lorsque je la met sur le serveur plus rien ne marche.
cs_gaillardo
Messages postés22Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention22 septembre 2008 8 août 2007 à 17:38
Merci beaucoup pour ton aide,
Je pense que je vais faire comme tu l'as dit : en 1024x768 avec une gestion du centrage en javascript. Ce sera plus simple.
cs_gaillardo
Messages postés22Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention22 septembre 2008 3 août 2007 à 16:04
Salut à toi et merci pour ta réponse,
J'ai essayé comme tu m'a dit mais ça ne change rien. Je pense que l'erreur n'est pas là car à l'affichage j'ai la page sans la css. Je ne rentre donc pas dans la première boucle if et je n'affiche pas le contenu de la variable $nav. Je pense que le problème vient plutôt de getenv mais je ne trouve pas la solution.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 3 août 2007 à 17:07
Hello, c'est la config serveur qui fait ça, moi une fois c'était pareil, je ne pouvais pas utiliser $_SERVER['PHP_SELF'], il fallait écrire autre chose (mais je ne sais plus quoi)...
Il y a plusieurs syntaxes pour récupérer les variables d'environnement, teste-les (cf php.net), autrement vérifie auprès de ton hébergeur.
à+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Maintenant j'ai un autre problème. Toute cette ligne s'affiche dans mon url et c'est pas très propre. J'ai éssayé de remplacer mes GET par des POST mais j'obtient une boucle sans fin qui me plante tout. Ce qu'il faudrai c'est que je puisse récupérer les valeurs de screen.width et screen.height dans des variables php. Si quelqu'un à une idée ou désire d'autre explications plus claire qu'il n'ésite pas.
A+
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 5 août 2007 à 11:33
Hello,
et bien ça paraît évident, tu mets quelque chose qui empêche la boucle infinie...
une variable en cookie par exemple. Si elle existe, pas d'envoi, sinon tu valides le formulaire.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 5 août 2007 à 18:30
Tu ne vas pas détecter à chaque page la résolution de l'écran, non ? donc il faut que tu l'enregistres une bonne fois pour toutes. Soit en session soit par cookies.
Quand la valeur n'existe ni en session ni en cookies, c'est que tu n'as pas encore détecté alors tu balances ton code de détection.
cs_gaillardo
Messages postés22Date d'inscriptionmardi 13 juin 2006StatutMembreDernière intervention22 septembre 2008 7 août 2007 à 19:55
Ok je comprend mieu,
Il faut que je créer une variable soit en session soit en cookie depuis le code javascript pour pouvoir y avoir acces depuis n'importe où ? Je ne l'ai jamais fait que me conseil-tu entre ces deux possibilités et comment créer la variable et comment la tester ?
Si j'ai bien compris, au lieu d'avoir tous ce code dans mon header je teste simplement cette variable "globale" et si elle est vide je met un include vers un autre fichier qui teste la résolution.
Merci encore pour ton aide et à bientôt.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 7 août 2007 à 20:58
C'est tout à fait ça.
Maintenant pour choisir entre cookies et session, ça dépend un peu du site. Les sites à fort trafic préféront les cookies pour ne pas empiéter sur les performances du serveur, les petits sites préféreront les sessions pour leur aspect pratique et plus fiable.
Le javascript peut enregistrer la variable en cookie, mais pas en session. Pour enregistrer en session, il faut qu'il *envoie* la variable au serveur (php donc) qui lui pourra l'enregistrer en session. Le php, lui, peut enregistrer en session et en cookie, c'est pratique.
Le problème maintenant c'est plutôt : que se passera-t-il la première fois qu'un visiteur arrivera sur ton site, et que la largeur d'écran n'aura pas été enregsitré ? Veux-tu lui afficher qqch sur cette 1ère page (mais il faudrait que ton javascript puisse s'adapter tout seul sans rechargement de page, bof bof) ou plutôt choper la valeur et le rediriger tout de suite ailleurs pour pouvoir passer la variable au php ? Evidemment je conseille la 2ème solution.
Bon, on parle on parle, mais j'ai oublié de dire un truc : mieux vaut faire un site pour une seule résolution (1024x768), sinon c'est vraiment galère à gérer, et puis tu ne peux pas toujours avoir la résolution du gars... Moi je n'utilise le javascript que pour gérer le centrage de mes page, c'est tout. Au pire si le visiteur n'a pas javascript, le site reste collé à gauche de l'écran.