Bonjours
Voila, j'ai un problème de redirection des pages sous l'easyphp, la fonction header ne fonctionne pas, est ce qu'il nécessite une configuration spéciale ?
merci
Bonjours
Voila, j'ai un problème de redirection des pages sous l'easyphp, la fonction header ne fonctionne pas, est ce qu'il nécessite une configuration spéciale ?
merci
n'aurais tu pas oublié le 'Location : ' dans ton header?
nous ne sommes pas magicien, nous ne pouvons deviner ton code, si tu as la possibilité de nous le montrer n'hésites pas
![]()
ok voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 <?php session_start(); require_once'connections/connexion.php'; require_once('connections/mysql.php'); if (isset ($_SESSION['formul'])) { $log=$_POST['login']; $pass=$_POST['passw']; } else { $log =$_POST['nom']; $pass=$_POST['pass']; } $query ="SELECT * FROM CLIENT WHERE login_cli ='$log' AND pass_cli = '$pass' " ; $res=mysql_query($query,$connexion) or die (mysql_error()); $num_rows = mysql_num_rows($res); if ($num_rows == 0) { if (isset($_SESSION['formul'])) { $_SESSION['message1']="Le nom ou le mot de passe est incorrect."; $_SESSION['erreur']=1; header ("location:formulaire_info.php"); } else { $_SESSION['message1']="Le nom ou le mot de passe est incorrect."; $_SESSION['erreur']=1; header("location:index.php"); } } else { $rep= mysql_fetch_array($res); $etat=$rep['etat']; if ($etat=="1") { if (isset($_SESSION['formul'])) { $_SESSION['nom']=$rep['nom_cli']; $_SESSION['mat_cli']=$rep['mat_cli']; header ("location:facture.php"); } else { $_SESSION['nom']=$rep['nom_cli']; $_SESSION['mat_cli']=$rep['mat_cli']; header ("location:index.php"); } } else { if (isset($_SESSION['formul'])) { $_SESSION['message1']="Votre compte est inactif."; $_SESSION['erreur']=1; header ("location:formulaire_info.php"); } else { $_SESSION['message1']="Votre compte est inactif."; $_SESSION['erreur']=1; header("location:index.php"); } } } mysql_close($connexion); ?>
il y à un message d'erreur quelque part?
quitte à faire sauter les header, met des echo dans tes conditions pour voir dans quel conditions IF ton script s'éxécuteet dit nous ce qu'il en est
![]()
Oui, j'ai déjà fait sa, tout marche bien sauf la redirection des pages, au début j'ai cru que c un problème de script, mais pourquoi sur le serveur hostarea.org (un hébergeur gratuit) le script fonctionne très bien ? Même, j'ai fait des petits exemples juste pour le test mais toujours le même problème.
je pense que c un problème de configuration n'as rien a voir avec le script
Bonjour,
Et mets un uri absolu (normes HTTP 1.1).
Code : Sélectionner tout - Visualiser dans une fenêtre à part header("Location: ....
La norme HTTP / 1.1 oblige à mettre l'adresse dans les headers en absolu, c'est-à-dire que tu dois indiquer l'adresse complet, du genre :
Par ailleur, Location commence par un L majuscule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php header("Location: http://www.example.com/sample/myfile.php"); ?>
Note que un l miniscule et un uri relatif ("location: myfile.php") peuvent fonctionner selon les cas, le navigateur, la version de php ou le serveur, mais cela mets ton code sous le risque d'un problème lorsque l'un de ces trois éléments connaîtra une mise à jour qui sera conforme à la norme, ou simplement lorsque tu exécutes le script sur d'autres serveurs.
Si cela ne résout pas le problème, est-ce que, si tu te contentes d'afficher simplement les valeurs obtenus de la requête mysql, ça marche ?
toujours le meme probleme que se soit avec un l majuscule ou minisule
j'ai fait ce petit programme pour le test et toujours ne marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php if(isset($_POST['send'])) { header("Location :index.php"); } else { echo "erreur"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans titre</title> </head> <body> <form name="test" method="post" action="test.php"> <input type="text" name="send" /> <input type="submit" value="ok" /> </form> </body> </html>
Bonjour
Essaye :
(pas d'espace entre Location et : ; et un espace entre : et l'adresse...
Code : Sélectionner tout - Visualiser dans une fenêtre à part header("Location: index.php");
Autrement as tu essayé une uri absolue ?
Essaye aussi : (et précise quelle phrase s'affiche...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php if(isset($_POST['send'])) { echo 'voir si on rentre dans le if...'; header("Location :index.php"); } else { echo "erreur"; } ?>
au début il affiche "erreur" puis lorsque je clique sur le bouton il m'affiche le message "voir si on rentre dans le if..." mais toujours pas de redirection vers index.php![]()
Bonjour,
on est deux à te demander d'essayer une uri absolue. Tu ne nous a toujours pas dit si tu as essayé.
salut,
comment un uri absolu, je travail en local !
je met
Code : Sélectionner tout - Visualiser dans une fenêtre à part header("Location: localhost/index.php");![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part header('Location: http://localhost/index.php');
Alors là ...Alors là...
Et si tu utilises un autre navigateur, qu'est-ce que ça donne ? (c'est la navigateur qui interprète la commande header location).
Fais un simple test, sans superflu, pour vérifier si la fonction header fonctionne au moins chez toi :
- fichier1.php:
-fichier2.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php header('Location: fichier2.php'); ?>
En affichant bien toutes les erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo 'bienvenue sur fichier2.php' ; ?>
Si ça ne donne rien, essaie de modifie le codage de ta page , d'utf-8 à ISO 8859-1 ou inversement.
Profites-en pour tester les autres fonctions de header, comme:
header("HTTP/1.0 403 Forbidden");
header("HTTP/1.0 404 Not Found");
oui avec ce test elle est bien marché (header) !!!
Alors, relis attentivement ta page, et supprime tout caractère avant le script, y compris les espaces et les blancs. par ex, j'ai remarqué que ton code ici est écrit comme ça :
Avec une ligne vide en haut. Supprime cette ligne vide. Pareil pour tous les scripts que tu inclus dans la page. Il faut absolument qu'il n'y ait rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php ?>
Merci Tsilefy pour ton aide, c trés gentil de tas part![]()
Partager