Redirection par header ou javascript? [Résolu]

Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
- 26 juin 2005 à 14:39 - Dernière réponse :
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
- 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 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
26 juin 2005 à 14:59
3
Merci
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 :)

Merci FhX 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de FhX
Meilleure réponse
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Dernière intervention
3 septembre 2006
26 juin 2005 à 15:23
3
Merci
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...

Merci cs_grandvizir 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_grandvizir
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
26 juin 2005 à 16:37
1
Merci





<li>
Commenter la réponse de cs_Anthomicro
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Dernière intervention
3 septembre 2006
26 juin 2005 à 15:21
0
Merci
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
Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
26 juin 2005 à 15:27
0
Merci
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
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Dernière intervention
3 septembre 2006
26 juin 2005 à 15:38
0
Merci
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
Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
26 juin 2005 à 15:48
0
Merci
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
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
26 juin 2005 à 16:35
0
Merci
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.