Problème de header sur internet explorer

WRInaute passionné
Bonjour,

Mon premier topic sur cette nouvelle version de WRI, sympatoche, même si un peu déroutante au début. Enfin bon, c'est du beau boulot

alors, voilà mon problème gravissime.

Tout d'abord le code, si vous le voulez bien :
Code:
if(condition 1)
{
ob_start();
Echo'Merci, votre commentaire est enregistré.';
die(header("Refresh:1; http://www.site.com/$page.htm"));
}
else {
 echo "Message d'erreur."
;}

Donc ce bout de code s'affiche sur une page qui enregistre le commentaire d'un formulaire (j'ai zappé l'insertion du commentaire ici). Puis un petit message de confirmation et ensuite le gars est redirigé.
Sinon, il a un message d'erreur (s'il a mal rempli les champs).

Sur firefox, ça fonctionne bien.

Par contre sur IE, le commentaire est bien inséré, mais ensuite le header ne se fait pas, ça réactualise la page au lieu de rediriger vers la page où se trouve le formulaire. Et donc ça affiche ensuite le message d'erreur de la condition else, puisque la page est réactualisée sans aucune donnée de formulaire validé. Et là ça reste comme ça.

Voyez-vous le problème :?:

Merci d'avance
 
WRInaute passionné
L'ob_start() le permet, j'ai trouvé ça sur le net. Si je l'enlève, ça déclenche une erreur header already sent.
 
WRInaute impliqué
Meeuuuhhh a dit:
Voyez-vous le problème :?:

non pas tout à fait :) mais avec ce code là c'est peut être aussi possible

Code:
if(condition 1)
{
?>
Merci, votre commentaire est enregistré.
<script type="javascript">
setTimeout(  "document.location = 'http://www.site.com/<?php echo $page ?>.htm';", 1000);
</script>
<?php
}
else {
echo "Message d'erreur."
;}
 
WRInaute passionné
Bah décidément, IE doit m'en vouloir, ça ne fonctionne pas avec javascript non plus.

Ça c'est le code source :
Code:
Merci, votre commentaire est enregistré.
<script type="javascript">
setTimeout(  "document.location = 'http://www.site.com/page.htm';", 1000);
</script>

La redirection ne se fait pas.

J'aurais bien une autre solution en php, mais bon avec javascript c'est plus léger, c'était une bonne idée. Pourquoi ça ne fonctionne pas là ? (oui oui javascript est activé sur mon navigateur)
 
WRInaute passionné
Arf, puis moi je recopie ça bêtement comme un mouton :roll: :lol: :oops:

Bon ça fonctionne comme ça, merci julienr. :D


En plus j'aurais pu y penser parce que j'utilise cette fonction pour fermer des pop-up sur ce même site. Mais pourquoi faire simple quand on peut faire compliquer, n'est-ce pas ? :mrgreen:
 
Discussions similaires
Haut