[PHP] Lancer un téléchargement sans recharger la page

Lancer un téléchargement sans recharger la page [PHP] - PHP - Programmation

Marsh Posté le 24-11-2002 à 22:21:33    

Voilà, je suis en train de refaire mon site Internet, et jusqu'à maintenant, pour pouvoir compter le nombre de téléchargement d'un fichier, j'ouvrais une pop-up qui m'incrémentait le compteur et qui redirigeait la page vers le fichier en question.
 
Mais j'ai vu que sur PHP Nuke, il n'utilise pas ça. Il s'agit bien d'une adresse avec paramètre, mais lorsque je clique dessus, la page ne se recharge pas, comme s'il s'agissait d'un lien direct.
 
Ma quesiton est donc simple: comment fait-on :)
 
Merci! :)

Reply

Marsh Posté le 24-11-2002 à 22:21:33   

Reply

Marsh Posté le 25-11-2002 à 09:34:54    

:heink:  et ton compteur tu stockes sa valeur où?
 
//lecture de la valeur du compteur
$compteur++;
//ecriture de la valeur


Message édité par Schtroumpheur le 25-11-2002 à 09:35:19

---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 25-11-2002 à 09:39:17    

Reply

Marsh Posté le 25-11-2002 à 10:55:19    

Oui, c'est exactement ça que je veux... Mais malgré ton post (désolé, j'avais pourtant chercher avant de poser les question, mais pas avec les bons mots :)), je n'arrive pas à comprendre tout à fait le principe.
 
Dis-moi si je me trompe:
- Dans ma page de download (disons telechar.php), je fait un lien vers download.php?file=truc
- Dans le fichier download, je fais ça:

Code :
  1. - sql avec incrémentation de mon compteur
  2. - redirection vers mon fichier avec un Header
  3. - exit(0);


 
C'est tout? Et là, j'aurai l'impression qu'aucune page ne se charge en plus normalement?
J'avais déjà essayé un truc comme ça et ça foirait, mais j'avais dû faire une erreur.
 
En tout cas merci, et dis-moi si je me trompe :)

Reply

Marsh Posté le 25-11-2002 à 11:07:30    

Furaxx a écrit a écrit :

Oui, c'est exactement ça que je veux... Mais malgré ton post (désolé, j'avais pourtant chercher avant de poser les question, mais pas avec les bons mots :)), je n'arrive pas à comprendre tout à fait le principe.
 
Dis-moi si je me trompe:
- Dans ma page de download (disons telechar.php), je fait un lien vers download.php?file=truc
- Dans le fichier download, je fais ça:

Code :
  1. - sql avec incrémentation de mon compteur
  2. - redirection vers mon fichier avec un Header
  3. - exit(0);


 
C'est tout? Et là, j'aurai l'impression qu'aucune page ne se charge en plus normalement?
J'avais déjà essayé un truc comme ça et ça foirait, mais j'avais dû faire une erreur.
 
En tout cas merci, et dis-moi si je me trompe :)




 
Y a mille fois plus simple, tu peux directement incrementer le compteur dans ta DB comme ceci :  
 
 
mysql_query("UPDATE TableCompteur SET champ1=champ1+1 WHERE patati patata" );
 


---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 25-11-2002 à 11:13:57    

concretement :
 

Code :
  1. <?php
  2. include ("includes/connect.php" );
  3. $req = mysql_query("SELECT les_infos_du_fichier($pop&$zip)" ,$cur);
  4. while ($row = mysql_fetch_row($req)) {
  5. blabla
  6. }
  7. $pop++;
  8. $req = mysql_query("UPDATE la_colone_dwld = $pop", $cur);
  9. mysql_close ($cur);
  10. header("Location: http://www.popol.fr/$zip" );
  11. ?>


Message édité par Schimz le 25-11-2002 à 11:14:51
Reply

Marsh Posté le 25-11-2002 à 11:18:01    

Schimz a écrit a écrit :

concretement :
 

Code :
  1. <?php
  2. include ("includes/connect.php" );
  3. $req = mysql_query("SELECT les_infos_du_fichier($pop&$zip)" ,$cur);
  4. while ($row = mysql_fetch_row($req)) {
  5. blabla
  6. }
  7. $pop++;
  8. $req = mysql_query("UPDATE la_colone_dwld = $pop", $cur);
  9. mysql_close ($cur);
  10. header("Location: http://www.popol.fr/$zip" );
  11. ?>






 
C'est un peu bete de mettre tout ce code pour une incrementation alors qu'en une seule requete c'est fait  :ange:


---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 25-11-2002 à 11:34:47    

Oui, l'incrémentation ne me pose pas de problème, mais c'était juste le fait du Header qui me redirige vers le fichier sans rien recharger de visible, bref, comme si c'était un lien direct.
 
Bon, il me semblait bien avoir essayer un truc du genre, mais j'ai dû me planter quelque part :p
 
Merci :)

Reply

Marsh Posté le 25-11-2002 à 15:18:54    

Si tu incremente avec la requete que je t'ai donné avant d'afficher les resultats, normalement y a meme pas besoin de header


---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 26-11-2002 à 14:01:52    

Oui, mais il faut bien que je lance le téléchargement du fichier à un moment ou à un autre :)

Reply

Sujets relatifs:

Leave a Replay

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