Problème de redirection si passage de paramètre

Résolu
cs_geff33 Messages postés 5 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 4 novembre 2009 - 1 nov. 2009 à 23:35
ensto28 Messages postés 87 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....

9 réponses

cs_geff33 Messages postés 5 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 4 novembre 2009
4 nov. 2009 à 17:45
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.
3
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
2 nov. 2009 à 00:22
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 !
0
cs_geff33 Messages postés 5 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 4 novembre 2009
2 nov. 2009 à 00:39
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"
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
2 nov. 2009 à 00:51
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_geff33 Messages postés 5 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 4 novembre 2009
4 nov. 2009 à 16:07
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.
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
4 nov. 2009 à 16:32
Slt,

header("location: ../monsite/index.php?useraction=badId");
0
cs_geff33 Messages postés 5 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 4 novembre 2009
4 nov. 2009 à 17:48
oupsss....phpAnonyme et non pas phpAdmin!
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
4 nov. 2009 à 17:51
Tu sais il reste une solution qui marche à tous les coups : Mettre l'adresse complète
0
ensto28 Messages postés 87 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 23 mars 2011
4 nov. 2009 à 18:02
slt
essai d'utiliser
../../index.php/racine
0
Rejoignez-nous