Redirection par header ou javascript? [Résolu]

Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention - 26 juin 2005 à 14:39 - Dernière réponse : cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention
- 26 juin 2005 à 16:37
Bonjour!

En fait je ne comprends pas tout aux redirections par header php, alors y a-t-il un inconvénient à utiliser un javascript?

Merci



<script language="javascript" type="text/javascript">
<!--
window.location.replace("http://www.un-site.com/une-page.htm");
-->
</script>
Afficher la suite 

8 réponses

Répondre au sujet
FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention - 26 juin 2005 à 14:59
+3
Utile
Si tu désactives le javascript ==> pas de redirection :)



Sinon, il te reste la balise meta http-redirect je crois bien.



Pour une redirection avec header php, c'est comme ca :

header('Location:index.php');

sans plus :)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de FhX
cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention - 26 juin 2005 à 15:23
+3
Utile
Y'a eu un problème avec le message précédent... Je le refais.


<HR>


Même si le JS est actif, c'est même pas sûr qu'il soit interprété. J'ai eu des problèmes avec des trucs du style :
<script>
location = 'page.html';
</script>


Si tu utilises le header, aucun ECHO de PHP ne doit avoir été appelé avant. Si c'est le cas, tu dois passer par la balise suivante : http://www.phpcs.com/forum.v2.aspx?ID=494000
<meta http-equiv="refresh" content="10;URL=page.html">


10 représente le temps en seconde. Mais tu peux attendre moins longtemps.

===========
Validez les réponses si ok...

Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_grandvizir
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 26 juin 2005 à 16:37
+1
Utile





<li>
Commenter la réponse de cs_Anthomicro
cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention - 26 juin 2005 à 15:21
0
Utile
Même si le JS est actif, c'est même pas sûr qu'il soit interprété. J'ai eu des problèmes avec des trucs du style :
<script>
location = 'page.html';
</script>

Si tu utilises le header, aucun ECHO de PHP ne doit avoir été appelé avant. Si c'est le cas, tu dois passer par la balise suivante : http://www.phpcs.com/forum.v2.aspx?ID=494000
<meta http-equiv="refresh" content="10;URL=page.html">

10 représente le temps en seconde. Mais tu peux attendre moins longtemps.

===========
Validez les réponses si ok...

Commenter la réponse de cs_grandvizir
Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention - 26 juin 2005 à 15:27
0
Utile
Merci de ta réponse, et est-ce qu'il y a bcp de monde avec le javascript désactivé?

Pour le header il me dit qu'il ne peut pas le faire parce qu'il est
déjà fixé ou truc comme ça, même si j'utilise ob_start( ) et
ob_end_flush( )... à moins que je les utilise mal?

Et enfin pour la balise html, de temps en temps elle veut pas marcher
pas avec Firefox (bug?) et puis tout le monde dit qu'il ne faut plus
l'utiliser **soupir**

C'est galère...
Commenter la réponse de Evangun
cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention - 26 juin 2005 à 15:38
0
Utile
Généralement, le JS est actif (config par défaut), mais ensuite tout dépend de sa qualité d'interprétation par le navigateur. MSIE reste malgré tout un TOP en la matière (ce n'est que mon avis). On bloque le JS seulement quand il peut nous nuire (sur des sites pas fréquentables, dirons-nous).

Sinon, démer*e-toi pour faire le header de redirection avant tout affichage qui pourrait se révéler inutile par la suite. Même si c'est pas évident, faut essayer d'éviter ces patchs gratuits ob_* qui peuvent transformer ton code en une sorte de bidouille non rigoureuse.

===========
Validez les réponses si ok...

Commenter la réponse de cs_grandvizir
Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention - 26 juin 2005 à 15:48
0
Utile
Ok bon je crois que je vais enchaîner un javascript et une balise html,
comme ça ce sera vraiment pas de bol si la redirection marche pas ;)

merci de vos réponses à+
Commenter la réponse de Evangun
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 26 juin 2005 à 16:35
0
Utile
Salut,



privilégie le header(), c'est beaucoup plus propre et ça fonctionne avec tous les navigateurs, contrairement au javascript.



Bref si tu ne peux utiliser de header() pour cause de headers déjà
envoyés, tu rajoutes ob_start(); tout en haut de ta page et
ob_end_flush(); tout en bas.



a +






<li>
Commenter la réponse de cs_Anthomicro

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.