Bonjour,
je voudrais Créer un compteur de téléchargements en MySQL avec PHP
je suis sous windows sous serveur wamp j'ai effectué la premiere etape je voudrais juste savoir est ce que je suis dans la bon chemin j'ai crée une table downloads_files dans la base de donnée
qui s'appel gestion_abhm
je viens de le tester j'ai rien reçu et mon compteur ne s'incremente pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?php ****// Mini config ****$MYSQL_HOST = 'localhost'; ****$MYSQL_DB = 'gestion_abhm'; ****$MYSQL_USR = 'root'; ****$MYSQL_PWD = ''; ****$filesdir = 'C:\wamp\www\tests\Fichier'; // le chemin relatif où sont stockés les fichiers * ****// Connexion MySQL ****$conn = mysql_connect($MYSQL_HOST, $MYSQL_USR, $MYSQL_PWD) or die(mysql_error()); ****mysql_select_db($MYSQL_DB, $conn) or die(mysql_error()); * * ****// Récupération du fichier passé en paramètre ****$filename = (isset($_GET['f'])) ? trim(sprintf("%s", $_GET['f'])) : ''; * ****if ($filename != '') // non vide ****{ ********//verification du fichier ********if ((file_exists($filesdir . $filename)) && (is_file($filesdir . $filename))) ********{ ************// Le fichier existe bien : on va incrémenter son compteur de téléchargements ************$req_augmenterdownload = "UPDATE downloads_files ************************SET ****************************downloaded = (downloaded+1) ************************WHERE ****************************filename='".$filename."';"; * ************// exécution de la requête ************mysql_query($req_augmenterdownload) or die($req_augmenterdownload.'<br />'.mysql_error()); * ************// requête effectuée : on envoie le fichier ************header("Location: ".$filesdir . $filename); ************exit(); ********}; ****}; ?>
j'ai besoin d'aide s'il vous plait
voilà le fichier .php avec lequel j'ai testé :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <title>Test</title> </head> <body> <h3>NewsletTux 2</h3> <p><a href="download.php?f=TD4.doc">Télécharger</a></p> </body> </html>
j'ai essayé de faire une methode pour voir ou se trouve l'erreur :
j'ai placé des echo partout dans mon code pour voir ou se coince
message de sortie : avant cnx.avant header.avant header0.avant header1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 <?php * ****// Mini config * ****$MYSQL_HOST = 'localhost'; * ****$MYSQL_DB = 'gestion_abhm'; * ****$MYSQL_USR = 'root'; * ****$MYSQL_PWD = ''; * ****$filesdir = 'C:\wamp\www\tests\Fichier'; * echo "avant cnx."; * ***** * ****$conn = mysql_connect($MYSQL_HOST, $MYSQL_USR, $MYSQL_PWD) or die(mysql_error()); * ****mysql_select_db($MYSQL_DB, $conn) or die(mysql_error()); * *echo "avant header."; * * * ***** * ****$filename = (isset($_GET['f'])) ? trim(sprintf("%s", $_GET['f'])) : ''; * echo "avant header0."; * ****if ($filename != '') // non vide * ****{ * ********echo "avant header1."; * ********if ((file_exists($filesdir . $filename)) && (is_file($filesdir . $filename))) * ********{ * ************echo "avant header2."; * ************$req_augmenterdownload = "UPDATE downloads_files * ************************SET * ****************************downloaded = (downloaded+1) * ************************WHERE * ****************************filename='".$filename."';"; * * * ************* * ************mysql_query($req_augmenterdownload) ; * * * *************echo "header."; * ************header("Location: ".$filesdir . $filename); * ************exit(); * ********}; * ****}; * ?>
donc cette condition ne l'accepte pas
donc le probleme viens je pense de $filesdir qui recoit normalement le chemin du dossier ou existe le document j'ai mis proprieté et j'ai fait copier coller le chemin ou est le probleme maintenant
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ((file_exists($filesdir . $filename)) && (is_file($filesdir . $filename)))![]()
![]()
![]()
![]()
Partager