forcer une redirection

Invité
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 16:20

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

Mammouth du PHP | 768 Messages

03 avr. 2006, 16:23

As tu essayé ?
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

03 avr. 2006, 16:24

Question bête...as-tu testé les deux avant de poser ta question...?

Mammouth du PHP | 768 Messages

03 avr. 2006, 16:26

Question bête...as-tu testé les deux avant de poser ta question...?
hé hé je t'ai devancé :lol:
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Invité
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 16:27

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?

Eléphant du PHP | 451 Messages

03 avr. 2006, 16:29


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.
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Mammouth du PHP | 768 Messages

03 avr. 2006, 16:32

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:
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Invité
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 16:35

pas grave ... :evil:

Mammouth du PHP | 768 Messages

03 avr. 2006, 16:42

ne le prend pas mal :P
bon essaye
rediriger("statutexemple1.php?var=".$logi); 
comme te l'a indiqué jpaul
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Invité
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 16:44

MErci c'est ce que j'allais essayer :)