Php -> remplacer "header('location:.....
Voila, j'ais mon site perso qui marche parfaitement en local, mais une fois sur internet j'ais un petit probleme: la commande
<?
header('loaction:index.php');
?>
ne veut pas marcher. Je ne vois pas pourquoi ca ne marche pas, car j'ais essayé dans <head></head>, <body></body> mais rien a faire.
Y a-t-il une autre commande que je peux utiliser?
Merci d'avance
A+
Elle a fait la belle
Puis s'est fait la belle
24 réponses
L'envoi d'une redirection HTTP en PHP avec header Location peut échouer sur le serveur distant à cause d'une configuration qui empêche l'en-tête d'être envoyé par le serveur web. Des éléments essentiels de solution incluent d'utiliser correctement la syntaxe header("Location: index.php"); et de ne placer aucun contenu ni espace avant l'en-tête, y compris dans les balises head ou body. D'autres interventions expliquent que le serveur peut nécessiter une configuration adaptée et que le recours à JavaScript est possible mais moins recommandé, l'option privilégiée restant l'envoi de l'en-tête côté serveur. En cas d'échec persistant, certains soulignent qu'une vérification de l'état du serveur et des tests avec une URL relative ou absolue peut aider à déterminer si la redirection est bloquée.
-
Bonjour tout le monde,
Désolé pour cette réponse un peu tardive, mais j'avais oublié ce compte.
La réponse a été que le serveur sur lequel j'étais ne gérait pas les header("location: index.php") à cause d'une mauvaise configuration du serveur. Après plusieurs mails avec le support, ils me l'on enfin avoué.
Voila, un mystère de résolu !
Merci quand même pour toutes vos réponses.
Bonne continuation. -
<?
header('loaction:index.php');
?>
loaction -> location -
Et c'est bien dans HEAD qu'il faut la placer ! :)
.::: "A trop vouloir feindre de faire fi, on finit
par faire fi de vouloir feindre." :::. -
Non, c'est pas dans <head> qu'il faut la placer.
Tout ce qui concerne les heder doit etre envoyé au serveur AVANT le moindre caractere. (balise html comprise).
Ce doit etre la premiere chose à mettre sur ta page.
Kalamit,
11 jours avant le soleil, la mer et les mouettes. :)-
-
-
@kalamitJustement, C ca qui m'embete aussi, c'est qu'il n'y a aucun message d'error. Il ne redirige pas le client, il le lesse en plan, tt seul, sans rien dire.
Elle a fait la belle
Puis s'est fait la belle -
-
@kalamitOK. Essaye:
header('location: ./index.php') Ca devrait fonctionner.
Kalamit,
11 jours avant le soleil, la mer et les mouettes. :)
-
-
essaie en mettant un espace apres les :
-
ca ne change rien
Elle a fait la belle
Puis s'est fait la belle -
C'est simple... a quoi ca te sers de rediriger sur l'index ? il faut rediriger directement sur le nom de la page sur le web (www.blabla.com/index.php)
-
Contributeursalut
question c...
L hebergeur prend en charge le PHP ? -
Contributeuressaie
<?php
header("Location: index.php");
?> -
Bonjour,
-
La solution a ton problème est très simple:
il ne doit rien y avoir d'autre que <?php Header("Location: index.php"); ?> sur ta page, même pas un espace avant, si tu as mis des balise <head> avant, ou quoi que ce soit d'autre, ton si va considéré que l'entête est déjà envoyée et ne pas appliquer la fonction. Sur une page qui contient cette fonction il ne faut rien mettre d'autre avant -
Tu peux toujours essayer :
<meta HTTP-EQUIV="Refresh" CONTENT="1; index.php" />
à mettre dans le <head></head> -
vous avez ecrit loaction au lieu de location
-
Salut,
je sais pas si il faut pas mettre un "exit;" après ! -
Ce que tu décris se produit si le header n'est pas la première chose envoyée par le navigateur.
Si tu as déjà un affichage quelconque ("echo" ou balise html) le header location ne s'effectue pas. -
bonjour
la fonction header ca marche juste en local.
esseyer avec cette fonction javascript c"est plus fiable.
<script language="javascript">
document.location.replace("index.php");
</script> -
Personne n'a vu que le post original datait du 14 juin 2004.
Si la personne n'a pas trouvé elle a surement dû abandonner. -
tu peux passer par du javascript -->
<?php print("<script type=\"text/javascript\">setTimeout('location=(\"page.php\")' ,1000);</script>"); ?> -
Par hasard, c'est quoi ton serveur?
parce que j'ai le même problème
y a t il une solution en php, ou faut il absolument passer par du javascript ? -
Salut,
Vous êtes bourin en javascript^^ :
top.location='index.php'; // si vous n'aimez pas les frames
document.location='index.php'; // simplement
- 1
- 2