header location - PHP - Programmation
Marsh Posté le 06-02-2009 à 13:25:35
Bonjour soulmanto et merci pour ta réponse rapide.
Je viens de tester ta proposition et cette fois connexion.php renvoie à elle-même alors que je souhaiterais qu'elle renvoie vers page1.php si c'est à partir d'elle que j'ai accèdé à connexion.php
Aurais-tu une autre piste ?
Merci
tete278
Marsh Posté le 06-02-2009 à 13:45:00
Connexion renvoi à elle même car tu dois avoir mis un formulaire dessus et donc le REFERER deviens connexion lui même.
Stock le referer lors de l'arrivée sur connexion.php et redirige dessus après soumission du form...
Attention au referer vide, prevoi un destination par defaut.
Marsh Posté le 06-02-2009 à 15:32:40
Bonjour à tous et merci à yellu,
Soyons clair : voici le début du script de la page connexion :
Code :
|
La ligne 41 pose problème car renvoie vers elle-même alors qu'elle devrait retourner vers la page qui l'a appelée.
Tu parles de destination par defaut et je ne souhaite pas que cette destination soit identique à chaque fois donc je ne comprends pas ce qu'il faut faire.
Merci
tete278
Marsh Posté le 06-02-2009 à 15:41:41
Le truc c'est que $_SERVER["HTTP_REFERER"] n'est pas fillable. Parfois il est vide, et c'est balot.
La seule solution que j'ai trouvé pour faire ce genre de truc est de faire passer l'url courante en get/post/session selon le cas.
Marsh Posté le 06-02-2009 à 15:56:42
+1, je met un paramètre dans l'URL. Je n'autorise dedans juste des URL relatives au domaines, pour éviter de pouvoir rediriger n'importe où
Marsh Posté le 06-02-2009 à 16:20:37
Le REFERER est la page qui précede la page actuelle, qd on soumet un formulaire alors la page précédente deviens celle du formulaire.
C'est pour ça que tu es redirigé sur le Connexion !
Je te dis donc de stocker ton information REFERER au moment ou elle est valide (la première fois que tu arrives sur Connexion) ou encore de passer par une variable GET ou POST pour la spécifier à Connexion comme le propose les deux autres personnes qui t'ont répondu.
Marsh Posté le 07-02-2009 à 12:51:06
FlorentG a écrit : +1, je met un paramètre dans l'URL. Je n'autorise dedans juste des URL relatives au domaines, pour éviter de pouvoir rediriger n'importe où |
avec file_exists ? EDIT ah ben non
Marsh Posté le 10-02-2009 à 08:10:54
Bonjour à tous et merci pour vos interventions. Je viens de tester la proposition de Corten en créant dans page1.php une variable de session mémorisant l'url de la page en cours
Code :
|
et ai modifié dans connexion.php ma ligne 41 qui devient
Code :
|
Après m'être loggué, j'aboutis à une erreur 404 donc je ne suis pas redirigé au bon endroit. Etant assez débutant, je ne vois pas où est mon erreur car erreur il y a. Merci d'avance.
tete278
Marsh Posté le 10-02-2009 à 08:38:48
Les variables ne sont pas interprétées entre guillemets simples...
Marsh Posté le 10-02-2009 à 13:29:32
Plutôt : header('Location: '.$_SESSION['URL']);
Marsh Posté le 10-02-2009 à 13:30:47
ReplyMarsh Posté le 10-02-2009 à 14:53:12
c'est vrai, çà dépend en partie de la colorisation syntaxique de l'éditeur de code, mais pour moi c'est plus lisible
Marsh Posté le 11-02-2009 à 12:07:52
Bonjour à tous et merci pour vos participations,
J'ai donc, dans connexion.php, modifié ma ligne ainsi
Code :
|
et obtiens désormais l'erreur suivante :
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'toto'@'10.0.70.3' (using password: YES) in /homez.65/site/www/connexion.php on line 9
Erreur :Access denied for user 'toto'@'10.0.70.3' (using password: YES)
J'en déduis que les paramètres de connexion à la base de données ne sont pas bons; est-ce que je me trompe ?
Je pose la question dans le sens où ils me semblaient pourtant être corrects ....
Merci encore
tete278
Marsh Posté le 12-02-2009 à 17:23:02
Bizarre, bizarre, vous avez dit bizarre ? Comme c'est bizarre.
En faisant page précédente 2 fois, j'accède pourtant à la bonne page, ce qui est fort curieux. N'y aurait-il pas une autre possibilité qu'une erreur de paramètres ?
tete278
Marsh Posté le 12-02-2009 à 21:47:39
ReplyMarsh Posté le 07-03-2009 à 13:50:32
Bonjour à tous,
Force est de constater que vous aviez raison. Je clos par conséquent la discussion en remerciant tous les intervenants.
tete278
Marsh Posté le 06-02-2009 à 12:22:41
Bonjour à tous,
J'utilise un script php pour vérifier l'autorisation d'accès à certaines pages. Supposons par exemple que l'internaute arrive sur page1.php, un script vérifie si une variable de session donnée existe et dans la négative envoie vers connexion.php
Dans connexion.php se trouve la ligne
Cela fonctionne bien mais je souhaiterais que page2.php puis page3.php etc. agissent de même ce qui fait qu'il faudrait que le code ne comprenne pas
mais plutot
J'ai beau avoir cherché dans les messages existants, j'avoue ne pas savoir comment faire.
Une âme charitable accepterait-elle de se pencher sur mon problème ? Merci d'avance.
tete278