Redirection après téléchargement.

Fermé
Renaud - 24 août 2005 à 11:10
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 26 août 2005 à 03:30
Bonjour a tous,

Je voudrais être redirigé vers une autre page après avoir effectué un téléchargement. Je m'explique, j'ai une application (page1.php) qui me propose une liste extraite d'une base de données, lorsque je clique sur un enregistrement je vais sur une autre page (page2.php) qui me génère un fichier texte, puis me redirige vers une autre page (page3.php) qui me télécharge le fichier ainsi créé, et je voudrais qu'après le téléchargement je revienne automatiquement sur la page1.php.

voici le code mis dans la page3.php :
<?
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".$filename);
readfile($chemin.$filename);
header("Location: page1.php");
?>

Merci de vos réponses, Renaud.
A voir également:

3 réponses

fanou Messages postés 448 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 1 décembre 2010 146
25 août 2005 à 11:05
Bonjour Renaud

Un lien :

http://www.easy-script.com/astuces/astp.php?c=Autres

3. Redirection après x secondes en PHP
Tout est dans le titre ! Fonction permettant de rediriger le visiteur après x secondes avec une alternative dans le cas où les en-têtes ont déjà été envoyées...

0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
25 août 2005 à 12:46
Le soucis c'est que si la page n'est pas une page html, la redirection Javascript ou html est impossible....
0
fanou Messages postés 448 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 1 décembre 2010 146
25 août 2005 à 18:54
Mais il s'agit d'un script pour du php..il ne s'agit pas d'html ou javascript..
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
25 août 2005 à 22:31
Oui d'accord.
Ce que je veux dire c'est qu'il n'ya pas 36 manières de faire une redirection.
Tu as le
header('Location: adresse');
en php à condition que les en-têtes http n'aient pas été envoyées. Or là ou tu as placé ta redirection php, ce n'est plus possible.
Ou alors tu as la balise meta-refresh en html ou encore le document.location.replace en Javascript. Mais ces deux solutions là, on laisse tomber puisqu'il faut, pour pouvoir les utiliser, une page html. Or ici tu as une page dont de type application/force-download.

Donc à moins que je me gourre dans ce que je dis, tu es coincé.
0
fanou Messages postés 448 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 1 décembre 2010 146
26 août 2005 à 00:23
oui.. désolée.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 août 2005 à 03:30
Ben tu n'a pas à être désolée :-)

Au passage je croyais m'adresser à l'auteur du sujet.
Je confonds un peu tout :-)
Désolé si j'ai été un peu sec avec le destinaire que je croyais, ou le vrai...

En fait en regardant un peu comment était faite la sauvegarde de la base de données sous PhpBB, on peux essayer de s'en inspirer:
Tu prends une page principale, une page avec un contenu html.
Et dans les balises meta, tu appliques un "refresh" vers le fichier à telecharger (en l'occurence, le fichier php dont la source est dans le premier message de cette discussion).
Après avoir compté quelques secondes à l'aide d'un Javascript (un peu plus que dans la balise refresh), tu peux faire une redirection Javascript dans la page principale. L'important étant que la boite de dialogue de telechargement ait ete activée.

Faudrait essayer pour voir.
0