PHP : Header ne fonctionne pas

Résolu/Fermé
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 - Modifié par valentin2703 le 26/10/2011 à 13:33
 valentin2703 - 26 oct. 2011 à 13:11
Bonjour,

Je tien d'abord à préciser que je n'ai en aucun cas la possibilité de changer de navigateur.
J'ai un petit problème avec la fonction Header en php.
J'utilise un formulaire sur une page web, ce formulaire redirige vers une page en php qui traite les informations, ensuite la fonction Header est censé me renvoyer vers ma page web, hors il ne se passe rien (Le script marche sous Firefox mais pas sous IE7)

J'ai tester les chemins relatif et absolu :
header('Location : http://..../monformulaire.php');
header('Location : ./monformulaire.php');

Cordialement,

A voir également:

3 réponses

lio.mar Messages postés 427 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 14 janvier 2014 20
26 oct. 2011 à 11:14
La fonction header, est exécutée du côté du serveur et le navigateur ne changera rien à son exécution.
Le problème devrait plutôt venir de la page qui est appelée.

En espérant t'avoir bien aidé, je te souhaite une excellente journée.
0
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 9
Modifié par valentin2703 le 26/10/2011 à 11:27
J'avoue ne pas comprendre, je test avec un formulaire tous simple :

Page form.php :

<form method="post" action="test.php"> 
<label for="ecrire">Ecrire</label> 
<input type="text" name="ecrire" id="ecrire"/> 

<input type="submit" value="Envoyer"/> 
</form> 

<?php if(isset($_POST['ecrire'])){ echo $_POST['ecrire']; } ?> 


Page test.php :

<?php header('Location : ./form.php'); ?> 


Avec un code comme cela, il n'y a aucune raison que cela ne marche pas ?
0
lio.mar Messages postés 427 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 14 janvier 2014 20
26 oct. 2011 à 11:43
Ben non, donc c'est pour cela que ce peut-être du à un problème du navigateur que tu ne peux pas régler côté code. Regarde du côté du cache.

Une chose est certaine, le navigateur n'influence en rien la manière dont ton header fonctionne.

Voilà, je pense que tu as mieux compris comment fonctionne tous cela, si jamais essaye de regarder des tutos sur internet qui explique comment fonctionne les scirpt exécuté côté client ou serveur et tu comprendra ce que je vient de t'expliquer.

A tout bientôt
-1
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 9
26 oct. 2011 à 11:50
Merci,

Je comprend bien le fait que le navigateur ne peut pas influencer cela, mais peut être qu'il y a une valeur à autoriser dans le fichier de config php ?
Ou peut être y a t'il une autre façons de rediriger vers un page en php ou xhtml ?
0
lio.mar Messages postés 427 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 14 janvier 2014 20
26 oct. 2011 à 12:04
Est ce que ton problème vient uniquement sous IE comme au début ou mnt c'est partout ?
0
valentin2703
26 oct. 2011 à 12:07
Non tu a raison, maintenant c'est sur tout les navigateurs
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
26 oct. 2011 à 12:12
« Une chose est certaine, le navigateur n'influence en rien la manière dont ton header fonctionne. »
Euh... Désolé mais c'est faux.
Le header, c'est l'en-tête HTTP fournie par le serveur au navigateur.
La fonction header() de php permet de modifier cet en-tête. Mais c'est bien le navigateur qui doit la lire et l'interpréter derrière !
0
valentin2703
26 oct. 2011 à 13:11
Ah ok, merci Reivax.
En faite c'était un bug tout bête, il faut absolument coller les ":" à "Location".

header(Location : ./test.php); Ne marche pas
header(Location: ./test.php); Marche
0