compter le nombre de link clicker

compter le nombre de link clicker - PHP - Programmation

Marsh Posté le 16-11-2004 à 11:38:43    

les liens des fichiers proviennent d une table dans mysql

Code :
  1. echo "<td>"."<a href='files/".$r['fileName']."'>download</td>";


j aimerai que des que le lien est clicker une autre table (filID, count) ai son champ count incrementer de 1.
 
comment faire ca ?
 :jap:

Reply

Marsh Posté le 16-11-2004 à 11:38:43   

Reply

Marsh Posté le 16-11-2004 à 11:39:53    

update maTable set count='count+1' where file='myFile'

Reply

Marsh Posté le 16-11-2004 à 11:49:31    

la query ca vas, cest comment coder le trigger qui declenchera cette action, comment detecter que le lien est clciker


Message édité par xiluoc le 16-11-2004 à 11:50:00
Reply

Marsh Posté le 16-11-2004 à 11:50:23    

une page de transition, effectuant l'operation et envoyant le fichier

Reply

Marsh Posté le 16-11-2004 à 11:53:46    

ok merci =)

Reply

Marsh Posté le 16-11-2004 à 12:32:47    

j ai fait qqq chose comem ca

Code :
  1. $fileID =  $_GET['fileID'];
  2. $fileName = $_GET['fileName'];
  3. //echo $fileID."<br />".$fileName;
  4. $host = "localhost";
  5.     $user = "???";
  6.     $pass = "???";
  7.     $bdd = "coulix_db";
  8.     $table = "files";
  9.    
  10.     $c = mysql_connect($host, $user, $pass) or die("can not connect to the db" );
  11. mysql_select_db("$bdd" ) or die("can not connect to the db" );
  12.  mysql_query("UPDATE files SET count=(count + 1) WHERE fileID=$fileID" );
  13. // Send the file
  14. header("Content-Disposition: filename=\"$fileName\"" );
  15. header("Content-Type: application/zip" );
  16. @readfile('files/$fileName');


 
pourtant les zips arrivent vident :/
je n edois peut etre pas passer par un header ? vu que le content type est indefini ?
sinon lupdate du compteru marche bien


Message édité par xiluoc le 16-11-2004 à 12:39:40
Reply

Marsh Posté le 16-11-2004 à 13:19:43    

Code :
  1. <?
  2. $fileID =  $_GET['fileID'];
  3. $fileName = $_GET['fileName'];
  4. $Fichier_a_telecharger=$fileName;
  5. $chemin="files/";
  6. switch(strrchr(basename($Fichier_a_telecharger), "." )) {
  7. case ".gz": $type = "application/x-gzip"; break;
  8. case ".tgz": $type = "application/x-gzip"; break;
  9. case ".zip": $type = "application/zip"; break;
  10. case ".pdf": $type = "application/pdf"; break;
  11. case ".png": $type = "image/png"; break;
  12. case ".gif": $type = "image/gif"; break;
  13. case ".jpg": $type = "image/jpeg"; break;
  14. case ".txt": $type = "text/plain"; break;
  15. case ".htm": $type = "text/html"; break;
  16. case ".html": $type = "text/html"; break;
  17. default: $type = "application/octet-stream"; break;
  18. }
  19. header("Content-disposition: attachment; filename=$Fichier_a_telecharger" ); 
  20. header("Content-Type: application/force-download" ); 
  21. header("Content-Transfer-Encoding: $type\n" ); // Surtout ne pas enlever le \n
  22. header("Content-Length: ".filesize($chemin . $Fichier_a_telecharger)); 
  23. header("Pragma: no-cache" ); 
  24. header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public" ); 
  25. header("Expires: 0" ); 
  26. readfile($chemin . $Fichier_a_telecharger); 
  27. $host = "localhost";
  28.     $user = "coulix";
  29.     $pass = "ccoulixx";
  30.     $bdd = "coulix_db";
  31.     $table = "files";
  32.    
  33.     $c = mysql_connect($host, $user, $pass) or die("can not connect to the db" );
  34. mysql_select_db("$bdd" ) or die("can not connect to the db" );
  35.  mysql_query("UPDATE files SET count=(count + 1) WHERE fileID=$fileID" );
  36. mysql_close();
  37. ?>


 
j obtiens dans un fichier rtf par exemple :

Code :
  1. Warning: filesize(): Stat failed for file/ExamPreparation.rtf (errno=2 - No such file or directory) in /home/greg/public_html/download.php on line 24
  2. Warning: Cannot modify header information - headers already sent by (output started at /home/greg/public_html/download.php:24) in /home/greg/public_html/download.php on line 24
  3. Warning: Cannot modify header information - headers already sent by (output started at /home/greg/public_html/download.php:24) in /home/greg/public_html/download.php on line 25
  4. Warning: Cannot modify header information - headers already sent by (output started at /home/greg/public_html/download.php:24) in /home/greg/public_html/download.php on line 26
  5. Warning: Cannot modify header information - headers already sent by (output started at /home/greg/public_html/download.php:24) in /home/greg/public_html/download.php on line 27
  6. Warning: readfile(file/ExamPreparation.rtf): failed to open stream: No such file or directory in /home/greg/public_html/download.php on line 28


mes fichier sont dans /home/greg/public_html/files/


Message édité par xiluoc le 16-11-2004 à 13:21:04
Reply

Marsh Posté le 16-11-2004 à 13:27:32    

fallait mettre le chemin en entier ....
=))

Reply

Marsh Posté le 16-11-2004 à 14:25:51    

heu, faut pas regenerer ton fichier avec php [:le kneu]
 
faut que tu fasse un lien vers ton fichier php qui va incrementer le compteur dans ta bdd, et ensuite, tu fait une redirection vers l'url du fichier.
la redirection tu peux le faire avec la fonction header() de php, ou bien une redirection html.


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 16-11-2004 à 22:07:46    

comment ca ? en ce moment sa marche bien pourtant
quest que tu veus dire par regenerer ?

Reply

Marsh Posté le 16-11-2004 à 22:07:46   

Reply

Marsh Posté le 17-11-2004 à 13:50:00    

xiluoc a écrit :

comment ca ? en ce moment sa marche bien pourtant
quest que tu veus dire par regenerer ?

ben que tu envoye ton fichier via php avec les header, alors, que tu devrais plutot vers une redirection.

Reply

Sujets relatifs:

Leave a Replay

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