Modifier $_SERVER["REQUEST_URI"] [Résolu]

Signaler
Messages postés
95
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2010
-
Messages postés
95
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2010
-
Salut, une question sans doute stupide mais bon, au cas ou.
Voilà j'aimerais modifer l'url sans passer par un  header ("Location: ...."); pour éviter que si l'internaute rafraichit la page il tombe sur le même script et sans utiliser de session pour savoir s'il a déjà appelé cette page.

5 réponses

Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
Il faudrait voir de plus près la structure de ton site et notamment les besoins de redirection, c'est peut être simplifiable.
Ceci dit il y a des fois où tu n'as pas le choix, il faut rediriger, c'est le cas ici. Il y a toujours moyen de faire autrement mais c'est le plus simple, le plus rapide et le plus logique; ça représente un échange de qq centaines de caractères tout au plus (et plus souvent une dizaine)
Je ne comprends pas en quoi cela fait un aller retour supplémentaire, après enregistrement sur enr.php, tu rediriges sur connect.php qui affiche la page d'accueil des connectés, non ?

Kohntark -
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
  les questions stupides n'existent pas, mais celles imprécises sont trop fréquentes :o) ... heu, que souhaites tu faire exactement ? Parce que rafraichir la page, header ou pas header, on tombe sur la même page / script.

Kohntark -
Messages postés
95
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2010

Désolé pour la clarté. Ben en fait, l'internaute s'enregistre par exemple en appelant le script enr.php. Tout est ok et je lui affiche la page d'accueil des connectés et j'aimerais que l'url dans le navigateur ne soit plus monsite.fr/enr.php mais monsite.fr/connect.phpcar s'il rafraichit la page j'aurais une erreur. Traditionnellement on fait un header (Location ) pour que le navigateur redirectionne sur connect.php à l'arrivé de la réponse httpmais ça fait un allé retour pour rien surtout que j'effectue plusieurs actions à chaque connection. Bon je suis pas sûr d'avoir été bien plus clair.
Messages postés
95
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2010

Ben, je suis sûr enr.php les données sont ok et je peux afficher directement la page. Sinon, dans le cas d'une redirection je modifie le header (location) et je fais un exit donc renvoie de la réponse http. Le navigateur réceptionne la réponse avec la demande de redirection et renvoie une nouvelle requète httpvers la page en question et je dois recharger tous mes objets (session...). J'utilise une architecture MVC avec un routeur (index.php?module=compte&action=enr). Donc aller retour sur le réseau mais surtout rechargement de mes utilitaires avec accès disques... alors que j'avais la main. Enfin, je le vois comme ça mais je peux me tromper.
Mais tu as sans doute raison 'c'est le plus rapide et le plus logique  avec un échange d'une dizaine de caractère' et puis tous les sites font comme cela. Et puis à part les sessions pour savoir s'il a déjà appelé cette page, je pense pas qu'il y est bien d'autres solutions. Tu vois je te disais que ce n'était pas une question trés pertinente. En tous cas merci de m'avoir aidé.
Messages postés
95
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2010

Je permet de clore le message vu que tu ne m'as pas contredit sur l'aller retour et merci encore A plus.