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
Version imprimable
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:
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écute ;) et 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: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:
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:cry:
Code:
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:header("Location: index.php");
Autrement as tu essayé une uri absolue ?
Essaye aussi : (et précise quelle phrase s'affiche...).
Code:
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 :cry:
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
:question:Code:header("Location: localhost/index.php");
Code:header('Location: http://localhost/index.php');
oui, mais toujours pas de redirection :(:(
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.phpCode:<?php header('Location: fichier2.php'); ?>
En affichant bien toutes les erreurs.Code:<?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:
1
2
3
4 <?php ?>
Merci Tsilefy pour ton aide, c trés gentil de tas part ;)