Download et changement de page
Posté : 13 janv. 2009, 21:41
par Repi
Bonjour,
J'ai programmé un site de téléchargement en php/html.
Le problème est que je n'arrrive pas à gérer le changement de page lorsqu'un utilisateur est entrain de télécharger après avoir cliquer sur un bouton de type submit.
Il est obligé d'attendre la fin du téléchargement pour que son action se déroule.
J'ai essayé de d'inclure le bouton dans un formulaire doté d'une target= "_blank" mais le résultat est identique; que je sois dans la même fenêtre ou non : ça mouline jusqu'à la fin du téléchargement.
Pouvez-vous m'aider?
Posté : 13 janv. 2009, 22:04
par AB
En général on utilise un pop up de téléchargement pour permettre au visiteur de ne pas rester bloqué sur la page initiale dans l'attente de l'upload des fichiers du post. Sinon je ne vois pas comment faire
Même si ton formulaire initial appelle une autre page, la page appelante attendra la fin de l'exécution de l'upload avant de poursuivre.
Posté : 13 janv. 2009, 22:41
par Repi
J'ai essayer en mettant le lien dans une pop-up, mais j'obtient toujours cette attente.
Mon code que j'ai essayé : <a href="Le_fichier_a_telecharger" onclick="window.open(this.href, 'height=200, width=400, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no'); return false;">Telecharger</a>
Comment écrirais-tu cette pop-up de téléchargement ?
Posté : 14 janv. 2009, 00:23
par AB
Heu ... ton titre indique download et je te répond upload
Pour faire simple,
Dans ta page d'appel if faut un simple lien qui appelle le popup avec une variable qui indique le fichier à télécharger
Code : Tout sélectionner
<a href="nom_du_popup.php?fichier=nom_du_fichier" onclick="window.open(this.href, 'height=200, width=400, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no'); return false;">Telecharger</a>
Et dans ton popup tu récupères le nom de la variable, tu vérifies si ce fichier est autorisé pour le téléchargement et ensuite tu intègres cette variable dans le href
Par exemple :
<?php
$fichier = isset($_GET['fichier'])? $_GET['fichier'] : null;
// Tableau des fichiers autorisés
$autorise = array();
$autorise[] = 'fichier1';
$autorise[] = 'fichier2';
$autorise[] = 'fichier3';
if (isset($fichier) && in_array($fichier,$autorise)) echo '<a href = "'.$fichier.'">Télécharger </a>';
?>