[résolu] Faire une redirection automatique sur la page précédente

Faire une redirection automatique sur la page précédente [résolu] - PHP - Programmation

Marsh Posté le 26-06-2003 à 17:32:56    

J'ai fait une recherche forum/google mais pas trouvé...
 
J'aimerais que ma page, après avoir traité mes données, renvoie l'utilisateur sur la page précédente (dont l'url contient des paramètres...)
 
je pensais faire avec un  

Code :
  1. print('<meta http-equiv="refresh" content="1;URL='.$adresse_url.">');


mais je vois pas comment récupérer l'adresse_url de la page précédente :(
 
Merci d'avance


Message édité par pilou51 le 27-06-2003 à 09:34:53
Reply

Marsh Posté le 26-06-2003 à 17:32:56   

Reply

Marsh Posté le 26-06-2003 à 17:39:12    

<script type="text/javascript">
history.go(-1);
</script>
 
 :??:

Reply

Marsh Posté le 26-06-2003 à 17:39:18    

Code :
  1. <a href='#x' onClick='javascript:history.go(-1)'>Retour</a>

Reply

Marsh Posté le 26-06-2003 à 17:40:30    

merci bcp :) :jap:
 
prends pas cet air étonné, j'avais bien mis newb ds le sujet, je connais aucune fonction php :)

Reply

Marsh Posté le 26-06-2003 à 17:45:11    

Sinon, c'est le header euh... merde...
 
C koi déjà :o
 
HTTP_REFERER
 
 
http://www.aspfree.com/asp/servervariables.asp
 
PS: c'est un article pour l'ASP, mais les HEADERS sont les mêmes pour tous les langages ;)

Reply

Marsh Posté le 26-06-2003 à 17:45:57    

Justement ca c'est pas du php mais du javascript.

Reply

Marsh Posté le 26-06-2003 à 17:46:56    

ah beh vi c du javascript ça, me disait bien que ça marchait pas :) (sauf le lien de la deuxième solution, mais j'aurais aimé que ça soit fait automatiquement... )

Reply

Marsh Posté le 26-06-2003 à 17:48:11    

tu peux essayer de mettre un header...
 
comme suit :

Code :
  1. header("Location: ta_page.php" );
  2. exit;


Message édité par xkamui le 26-06-2003 à 17:48:20
Reply

Marsh Posté le 26-06-2003 à 17:53:35    

vi mais comment je récupère le ta_page.php de manière à ce que ce soit la page précédente avec ses paramètres ? :(

Reply

Marsh Posté le 26-06-2003 à 17:59:37    

la page quienvoi les données et celle qui les traitent sont toujours différente ??
 
parce que sinon, il suffit de lui mettre la page où revenir...

Reply

Marsh Posté le 26-06-2003 à 17:59:37   

Reply

Marsh Posté le 26-06-2003 à 18:03:53    

si tu veux, j'ai d'abord une page dont l'url est du style :  
 
mapage1.php?param=fdkjgkd
 
et cette page contient un lien vers une autre page, qui effectue un traitement. à la fin de ce traitement, j'aimerais revenir automatiquement sur la page précédente, à savoir mapage1.php?param=fdkjgkd
 
y'a pas l'équivalent de history(-1) du javascript en php svp ?
 
Merci :jap:

Reply

Marsh Posté le 26-06-2003 à 18:05:21    

pilou51 a écrit :

ah beh vi c du javascript ça, me disait bien que ça marchait pas :) (sauf le lien de la deuxième solution, mais j'aurais aimé que ça soit fait automatiquement... )


 
De toute maniere c'est pas en php que tu peux faire ca, parce que par définition le php est traité sur le serveur.
 
sinon tu créé un onload dans le BODY avec une tempo à quelques secondes suivi des instructions javscripts suivantes :
 
window.location.href=document.referrer;


Message édité par Counterslash le 26-06-2003 à 18:06:36
Reply

Marsh Posté le 26-06-2003 à 18:11:18    

Ou plus simple, au lieu d'utiliser la même fenetre , t'en ouvre une autre, et quand t'as fini le traitement dans la seconde fenetre tu la clos par un window.close()
 
 

Reply

Marsh Posté le 26-06-2003 à 18:15:59    

aaaaaaaah oui ça me plait bien ça :) merci :D

Reply

Marsh Posté le 26-06-2003 à 18:23:52    

euh par fainéantise, j'ai fait avec le
window.location.href=document.referrer;
et j'ai un problème...
 
la redirection marche très bien, c parfait, mais lorsque j'essaie d'aller voir une autre page (par recherche dans une base) il me relance toujours sur la page sur laquelle j'avais fait un retour précédemment... faut pas réinitialiser le window.location.href ou qqchose comme ça ?
 
désolé d'être un peu boulet et merci :)


Message édité par pilou51 le 26-06-2003 à 18:24:04
Reply

Marsh Posté le 26-06-2003 à 19:07:29    

pilou51 a écrit :

vi mais comment je récupère le ta_page.php de manière à ce que ce soit la page précédente avec ses paramètres ? :(


Hé ben ! Je t'ai dis, c'est le header HTTP_REFERER qui contient cette info !
 
Donc tu le lis en PHP et tu le met dans ta fonction.

Reply

Marsh Posté le 26-06-2003 à 19:08:06    

counterslash a écrit :


 
De toute maniere c'est pas en php que tu peux faire ca, parce que par définition le php est traité sur le serveur.
 
sinon tu créé un onload dans le BODY avec une tempo à quelques secondes suivi des instructions javscripts suivantes :
 
window.location.href=document.referrer;


Tout faux, ça marche TRES bien en PHP

Reply

Marsh Posté le 26-06-2003 à 19:25:25    

MagicBuzz a écrit :


Tout faux, ça marche TRES bien en PHP


 
Donc tu fais comment pour fermer une fenetre en php ?

Reply

Marsh Posté le 26-06-2003 à 20:06:45    

D'où tu veux fermer la fenêtre toi :heink:
 
Faire une redirection sur le http_refferer est une fonction des plus basiques, je vois comment il serait possible que PHP ne le supporte pas.

Reply

Marsh Posté le 26-06-2003 à 20:40:15    

Code :
  1. header("Location: $_SERVER['HTTP_REFERER']" );
  2. exit;

Reply

Marsh Posté le 27-06-2003 à 08:31:59    

Merci bcp, j'ai fait ça (en déplaçant les ' ' autour de $_SERVER) mais j'ai une erreur :  

Warning: Cannot add header information - headers already sent by (output started


 
D'où ça peut venir svp ? ça veut pas dire qu'il refuse de revenir sur la page précédente ? pour quelle raison ? :(
 
Merci bcp


Message édité par pilou51 le 27-06-2003 à 08:32:14
Reply

Marsh Posté le 27-06-2003 à 09:23:17    

Citation :

mais j'ai une erreur :  
 
Warning: Cannot add header information - headers already sent by (output started  
 
D'où ça peut venir svp ? ça veut pas dire qu'il refuse de revenir sur la page précédente ? pour quelle raison ? :(  


 
En même temps en traduisant rapidement la phrase de ton warning on obtient: Ne peut pas ajouter l'information d'en-tête - en-têtes déjà envoyés ...
Tout ça pourquoi hein? Parce qu'il faut que ton header soit la première chose que tu printes dans ton script.

Reply

Marsh Posté le 27-06-2003 à 09:31:25    

hum j'ai honte  :o  
oui effectivement, ça marche mieux, sauf que j'ai une erreur 404 maintenant, pour le retour de page :(
 
en tapant ça en début de script :  

Code :
  1. header ("Location: '$_SERVER[HTTP_REFERER]'" );


Message édité par pilou51 le 27-06-2003 à 09:33:19
Reply

Marsh Posté le 27-06-2003 à 09:34:30    

Au temps pour moi, fallait virer les simples cotes ' '...
 
 
Merci bcp à tous ceux qui ont eu la patience de me répondre :)

Reply

Marsh Posté le 27-06-2003 à 09:34:49    

:sarcastic:  
header ("Location: '$_SERVER{HTTP_REFERER]'" );
 
Y aurait-il quelque chose qui te choque?
 
edit: pas bien de corriger ses conneries pendant que je poste


Message édité par anapajari le 27-06-2003 à 09:36:12
Reply

Marsh Posté le 27-06-2003 à 09:35:17    

j'avais édité  :whistle:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed