Fonction de redirection

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 004 fois - Téléchargée 16 fois

Contenu du snippet

Fonction simpliste permettant de gérer des redirections.

Cette fonction s'utilise ainsi :

// Actualisation de la page
Redirect();

// Redirection vers une page
Redirect("/mapage");

// Redirection après un laps de temps
Redirect("/mapage", 5);

Source / Exemple :


<?php
// fonction de redirection
function Redirect($adresse="", $temps = NULL){
	if(!empty($adresse) && $temps==null){
		
		header("Location: $adresse");
		exit(_("<a href=\"$adresse\" title=\"Cliquez ici\">Si la redirection ne se fait pas, cliquez ici.</a>"));
	}
	elseif(!empty($adresse)) {

		

		if (!headers_sent()) {
			header("Refresh:$temps; url=$adresse");
			exit;
		}
		else {
			echo '<meta http-equiv="refresh" content="'.$temps,';url='.$adresse.'" />';
		}

	} else {
		Redirect($_SERVER['REQUEST_URI']);
	
	}
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
120
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2017

Bonjour,
jojo19 :

1- l’idiotie est de ne pas poser de question si on ne sait pas...

2- La réponse à ta question est: si le (JavaScript) est absent ou désactivé tu ne peux jamais aller à ('http://www.monsite.com')

3- Un commentaire dans Une balise de (JavaScript) doit finir comme suivant: //-->

4- il manque ('), Pour que ton code fonctionne il doit être rédigé comme suivant :
<script type="text/javascript" language="JavaScript">
<!--
setTimeout("window.location='http://www.mahdi.elalia.net'",50);
//-->
</script>

Bon courage.
Messages postés
8
Date d'inscription
vendredi 17 septembre 2004
Statut
Membre
Dernière intervention
27 décembre 2012

Question (peut-être idiote, mais je la pose tout de même) :
pourquoi ne pas utiliser une fonction toute simple en JS ? ? ?
telle que :
<script type="text/javascript" language="JavaScript">
<!--
setTimeout("window.location='http://www.monsite.com",50);
-->
</script>

Quelle est le plus du php ? ? ?
Messages postés
59
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
3 janvier 2011

L'idéal serait d'essayer des redirections contrôlées, en commençant par un renvoi (à vérifier qu'ils n'aient pas déjà été envoyés) des headers puis javascript puis html. Il y a un post dans la doc php à ce sujet : http://php.net/manual/en/function.header.php#83448
JejeScript :
D'accord pour le && ^^

Apparemment tu n'as pas compris son utilité :p

Si $adresse n'est pas renseigné :
Actualisation de la page courante.

Sinon :
SI $temps est égal à null (valeur par défaut)
On redirige directement sur l'adresse
SINON (!empty($adresse) && $temps !== NULL)
On ecrit la redirection pour $temps secondes.
Fin sinon
Fin Sinon


^^
Mais pour revenir a ton code headers_sent() vérifie si les pièces du header ont déjà été appelées donc cela doit être placé avant toute action sur le header sinon il risque d'y avoir des erreurs.

Pourquoi tester si la variable $temps, puisque tu la clairement défini dans les variables de ta fonction

Et enfin tu ne devrai pas définir ta variable adresse dans ta fonction de cette manière cela pourrais aussi générer des erreurs utilise simplement $adresse au lieu de $adresse=""

Petite dernière question bête, pourquoi utiliser un header location si tu utilise le header refresh ensuite ?
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.