Php -> remplacer "header('location:.....
pepe Gomez -
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
- 1
- 2
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. -
essaie
<?php
header("Location: index.php");
?> -
tu peux passer par du javascript -->
<?php print("<script type=\"text/javascript\">setTimeout('location=(\"page.php\")' ,1000);</script>"); ?> -
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
je sais que ça fait longtemps mais quand je lis des bêtises pareilles, je ne peux pas m'empêcher de rectifier. La fonction header est gérée côté serveur! Ton navigateur n'a rien à voir avec la choucroute...
-
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. -
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 ? -
0.0 Y'a tu vraiment des programmeurs ici? les headers peuvent juste être inscrits avant <html>.
Donc le code devrait être
<?php header("location:http....") ?>
<html>
.... -
mieux je pense... que simplement header tout seul...
die(header("Location:./index.html")); -
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. :) -
-
-
Tu peux toujours essayer :
<meta HTTP-EQUIV="Refresh" CONTENT="1; index.php" />
à mettre dans le <head></head> -
Salut,
je sais pas si il faut pas mettre un "exit;" après ! -
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." :::. -
ca ne change rien
Elle a fait la belle
Puis s'est fait la belle -
salut
question c...
L hebergeur prend en charge le PHP ? -
-
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. -
Salut,
Vous êtes bourin en javascript^^ :
top.location='index.php'; // si vous n'aimez pas les frames
document.location='index.php'; // simplement
- 1
- 2