page de téléchargement

page de téléchargement - PHP - Programmation

Marsh Posté le 04-02-2004 à 22:41:31    

Bonjour,
 
J'ai une page de téléchargement en php, et pour qu'il y ait un compteur de visite, j'ai fait comme ca :
 
- index.php qui presente les fichiers, quand on clique sur le nom d'un fichier, ca ouvre dans une nouvelle page (target="_blank" ) down.php?filepath=xxxx avec filepath le nom du fichier.
 
- down.php qui redirige vers $filepath (telecharge donc le fichier) et qui ajoute 1 hit au compteur du fichier
 
 
Maintenant j'aimerai eviter aux visiteurs l'ouverture de cette page blanche qu'il faut fermer ensuite. Je pense que le plus simple serait un javascript qui modifie ainsi le fonctionnement de mes pages :
 
- index.php : les liens pointent directement vers les fichiers a telecharger, et dans la balise A, il y a un "onclick=truc()" avec truc mon javascript qui lance down.php
 
- down.php : ajoute 1 au compteur et ferme la page à l'aide d'un javascript
 
 
 
Je pense que ceci est assez simple a realiser, je peux faire les recherches tout seul, mais qu'en pensez vous ? Est ce une bonne solution ? Avez vous d'autres solutions a me proposer ? L'ideal serait de ne pas utiliser du tout de javascript, mais je ne sais pas si la combinaison html/php permet de faire ca (je ne veux rien d'autre)...
 
Merci !

Reply

Marsh Posté le 04-02-2004 à 22:41:31   

Reply

Marsh Posté le 04-02-2004 à 22:47:22    

dans ta page down.php : un premier JS qui lance le Dl et un second qui la ferme ca ne te va pas ??

Reply

Marsh Posté le 04-02-2004 à 22:52:48    

Oui, c'est a peu pres comme la solution que j'ai donnée, mais je n'aime pas trop le javascript, trop dépendant du naviguateur (du peu que j'ai pu en voir)...

Reply

Marsh Posté le 05-02-2004 à 09:14:45    

Sinon la méthode la plus simple c'est dans ton down.php tu fais :

Code :
  1. <?php
  2. //tu fais d'abord ce qu'il faut pour le compteur de visite
  3. readfile($_GET['filepath']); //s'assurer avant que filepath contient un nom correct, sinon c'est dangereux
  4. ?>


et puis tu enlève le target="_blank" dans index.php
 
Comme ça pas de javascript


Message édité par ratibus le 05-02-2004 à 09:14:55
Reply

Sujets relatifs:

Leave a Replay

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