Page 1 sur 1

forcer une redirection

Posté : 03 avr. 2006, 16:20
par Invité
bonjour, voici le scrip qu'on m'a donne :
<?php
/*
Permet une redirection même si une entête a déjà été envoyé au navigateur
utilisation: 
---------
rediriger('page.php');
ou
rediriger('http://www.google.fr');
*/
 
function rediriger($url){
  if ( !headers_sent() ){  //  Indique si les en-têtes HTTP ont déjà été envoyés
    header('Location:'.$url); // Envoie un en-tête HTTP
  }
  else
  {
    echo '<script language="JavaScript">'; 
    echo 'window.location= "'.$url.'";'; // Redirection JavaScript
    echo '</script>';
  }
}
?>
Mais voila, je vois pas comment appele la fonction :

soit comme ceci :

rediriger("statutexemple1.php?var=$logi");

soit comme ceci :

rediriger(statutexemple1.php?var=$logi);


Merci d'avance

Posté : 03 avr. 2006, 16:23
par mario
As tu essayé ?

Posté : 03 avr. 2006, 16:24
par charabia
Question bête...as-tu testé les deux avant de poser ta question...?

Posté : 03 avr. 2006, 16:26
par mario
Question bête...as-tu testé les deux avant de poser ta question...?
hé hé je t'ai devancé :lol:

Posté : 03 avr. 2006, 16:27
par Invité
c'est que le serveur envoye mes script corrige que toute les x minute normalement c'est les 5 minutes mais une erreur fais que c'est plus, presque 1h, donc me suis dit au lieu d'attendre deux heures, autant vous demandez a vous non?

Re: forcer une redirection

Posté : 03 avr. 2006, 16:29
par jpaul

Mais voila, je vois pas comment appele la fonction :

soit comme ceci :

rediriger("statutexemple1.php?var=$logi");

soit comme ceci :

rediriger(statutexemple1.php?var=$logi);


Merci d'avance
Ben déjà, si tu veux passer une chaîne de caractères, il y a de fortes chances que tu doives mettre des " ou bien des '.
la première syntaxe semble être le bon choix.
Ceci dit, je lui préfère :
rediriger("statutexemple1.php?var=".$logi);
Ca revient au même mais personellement je préfère :)

Autrement, il faut aussi que tu aies la fonction headers_sent() qui est testée au début de ta fonction.
En effet, il ne faut pas envoyer une entête si quelque chose à déjà été envoyé au navigateur : ça ne marche pas.

Posté : 03 avr. 2006, 16:32
par mario
c'est que le serveur envoye mes script corrige que toute les x minute normalement c'est les 5 minutes mais une erreur fais que c'est plus, presque 1h, donc me suis dit au lieu d'attendre deux heures, autant vous demandez a vous non?
J'ai tout compris :lol:

Posté : 03 avr. 2006, 16:35
par Invité
pas grave ... :evil:

Posté : 03 avr. 2006, 16:42
par mario
ne le prend pas mal :P
bon essaye
rediriger("statutexemple1.php?var=".$logi); 
comme te l'a indiqué jpaul

Posté : 03 avr. 2006, 16:44
par Invité
MErci c'est ce que j'allais essayer :)