Problème de redirection si passage de paramètre [Résolu]

Messages postés
5
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
4 novembre 2009
- - Dernière réponse : ensto28
Messages postés
88
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
23 mars 2011
- 4 nov. 2009 à 18:02
Bonjour,
Voici mon problème que je n'arrive pas à solutionner:

je veux faire une redirection dans une page située dans un répertoire du site vers index.php à la racine du site.

le code utilisé est le suivant:
header("location: ../index.php?useraction= badId");

ce code me redirige incorrectement puisque l'url de la page appelée à l'exécution du code est
"http://127.0.0.1/index.php" au lieu de "http://127.0.0.1/ monsite /index.php"
le message d'erreur sur la page est:
[i]Objet non trouvé!
L'URL requise n'a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d'informer l'auteur de cette page de cette erreur.

Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.

Error 404/i

je ne comprends pas l'erreur car lorsque je ne passe pas de paramètre, le code:
header("location: ../index.php");
fonctionne correctement et renvoie bien sur la page: "http://127.0.0.1/monsite/index.php"

je précise qu'un essai en javascript avec :
"window.location.href ='../index.php?b=useraction=badId'";
fonctionne bien sans paramètre mais génère le même problème avec paramètre...

Merci de votre aide....
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
5
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
4 novembre 2009
3
Merci
bon eh bien avec l'aidede phpAnonyme j'ai trouvé un code qui fonctionne sans que je puisse l'expliquer...

La solution de phpAdmin:
header("location: ../monsite/index.php?useraction= badId");


qui renvoyait tjs vers une url d'erreur:
"http://127.0.0.1/monsite/monsite/index.php"
( 2 fois "/monsite" au lieu d'une.)

à partir de là j'ai testé:
header("location:..\monsite/index.php?useraction =badId");
(antislach et pas d'espace après "location:") qui renvoyait tjs vers "http://127.0.0.1/index.php" au lieu de "http://127.0.0.1/monsite/index.php"

puis:
header("location:..//index.php?useraction=badId");
qui fonctionne!! deux slachs qui se suivent après "location:.."
je comprends pas pourquoi, peut être une mauvaise architecture de mon appli.

Bon ben pour l'instant je vais me contenter de ce fonctionnement en local. Je verrai bien si je retrouve le problème lors du passage en prod...

Merci phpAdmin pour l'aide apportée.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_geff33
Messages postés
403
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
13
0
Merci
Slt,

Il faut savoir ce que tu veux, hin !
je veux faire une redirection dans une page située dans un répertoire du site vers index.php à la racine du site.
Ca sous-entend que tu veux aller à index.php racine site!, et que tu es dans le répertoire 'http://127.0.0.1/monsite/'.

ce code me redirige incorrectement puisque l'url de la page appelée à l'exécution du code est
"http://127.0.0.1/index.php" au lieu de "http://127.0.0.1/monsite/index.php"
C'est que tu lui à demandé de faire !

Maintenant, si tu es dans le répertoire et que l'index.php que tu parle soit dans le répertoire :
header("location: /index.php?useraction=badId");

En espérant avoir compris et t'avoir aider !
Commenter la réponse de phpAnonyme
Messages postés
5
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
4 novembre 2009
0
Merci
ben,je me suis mal exprimé:
je veux faire une redirection dans une page située dans un répertoire du site vers index.php à la racine du site.

je voulais dire :
je veux faire une redirection depuis une page située dans un répertoire du site vers index.php à la racine du site.

pour être plus claire la structure de "monsite" est:

client/ficheclient.php
index.php

le code de redirection est exécuté dans "ficheclient.php" (qui se trouve dans le répertoire client) et doit rediriger vers "index.php"
Commenter la réponse de cs_geff33
Messages postés
403
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
13
0
Merci
Dans ce cas :
header("location: ../index.php?useraction=badId"); est bon !

A moins que tu utilise un include,require,etc..c'est-à-dire que tu as inclue 'ficheclient.php' dans un autre fichier et dans ce cas il te faudra considérer le lien de la redirection sur la base de cette autre fichier !
Commenter la réponse de phpAnonyme
Messages postés
5
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
4 novembre 2009
0
Merci
Toujours pas trouvé la solution ....

Dans ce cas :
header("location: ../index.php?useraction=badId"); est bon !


Je sais que le code est bon, Mais je suis redirigé à la racine du répertoire "wwww" au lieu d'être redirigé à la racine du site...
Il doit y avoir une intercation quelconque...quelque part...

Ma question s'adresse donc à quelqu'un qui aurait déjà rencontré ce genre de problème pour me mettre sur une piste...
Merci de l'aide éventuelle.
Commenter la réponse de cs_geff33
Messages postés
403
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
13
0
Merci
Slt,

header("location: ../monsite/index.php?useraction=badId");
Commenter la réponse de phpAnonyme
Messages postés
5
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
4 novembre 2009
0
Merci
oupsss....phpAnonyme et non pas phpAdmin!
Commenter la réponse de cs_geff33
Messages postés
403
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
13
0
Merci
Tu sais il reste une solution qui marche à tous les coups : Mettre l'adresse complète
Commenter la réponse de phpAnonyme
Messages postés
88
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
23 mars 2011
0
Merci
slt
essai d'utiliser
../../index.php/racine
Commenter la réponse de ensto28