Page 1 sur 1

compteur de téléchargement ne fonctionne plus

Posté : 04 août 2008, 00:30
par pomelo
Bonsoir,

J'utilise depuis plusieurs années un script de compteur de téléchargement super simple mais depuis que je suis passée chez l'hébergeur infomaniak (à cause du php5 ? ) il ne fonctionne plus.

Je me permet donc de vous demander si vous avez une idée de ce qui peut clocher, si y'a du code à changer ou non (vu que le script date un peu)
Je mets également la totalité du script (il est assez court) car je n'y connais rien ...
J'espère également poster au bon endroit :oops:

Tout d'abord, un fichier "compteurdl.php"

Code : Tout sélectionner

<?php //Téléchargment v1.0 //-- Script créé par A.RICAUD -- //Site : http://www.aidepc.fr.st/scripts //E-mail : [email protected] function nbdl($id) //fonction d'affichage du nombre de téléchargements {include ("configuration.php"); //inclusion du fichier de configuration $connexion=mysql_connect("$sql","$login","$mdp"); //connexion à la base de données $db = mysql_select_db("$base", $connexion); //sélection de la table $requete=mysql_query("SELECT * FROM $table WHERE id='$id'",$connexion); $nb=mysql_fetch_array($requete); echo $nb[nb]; }//affichage du nombre de téléchargements function format_date($d) //fonction de formattage de la date { $date = substr($d,8,2)."/"; // jour $date = $date.substr($d,5,2)."/"; // mois $date = $date.substr($d,0,4). "@"; // année $date = $date.substr($d,11,5); // heures et minutes echo $date; }; function lastdl($id) //fonction d'affichage de la date du dernier téléchargement {include ("configuration.php"); //inclusion du fichier de configuration $connexion=mysql_connect("$sql","$login","$mdp"); //connexion à la base de données $db = mysql_select_db("$base", $connexion); //sélection de la table $requete=mysql_query("SELECT * FROM $table WHERE id='$id'",$connexion); $dernier=mysql_fetch_array($requete); if ($dernier['date']=="0000-00-00 00:00:00"){echo "Jamais téléchargé";} else{format_date($dernier['date']);} //affichage de la date du dernier téléchargement }; ?>
Le fichier "configuration.php" :

Code : Tout sélectionner

<?php $sql="localhost"; //Adresse de votre serveur (ex : sql.free.fr chez Free) $login=""; $mdp=""; $base=""; //en général c'est votre login $table="download"; //changer-là si vous avez changé le nom de la table ?>
Et enfin, le fichier qui gère les liens de téléchargement : "download.php"

Code : Tout sélectionner

<?php //Téléchargment v1.0 //-- Script créé par A.RICAUD -- //Site : http://www.aidepc.fr.st/scripts //E-mail : [email protected] include ("configuration.php"); //inclusion du fichier de configuration if (!isset($id)) {echo "Pas de fichier sélectionné";} //Vérifie si un fichier à été sélectionné else { $connexion=mysql_connect("$sql","$login","$mdp"); //connexion à la base de données $db = mysql_select_db("$base", $connexion); //sélection de la table $requete= mysql_query("SELECT * FROM $table WHERE id='$id'",$connexion); $select=mysql_fetch_array($requete); $file=$select['url']; $update=mysql_query("UPDATE $table SET nb=nb+1,date=NOW() WHERE id='$id'",$connexion);//mise à jour du nombre de téléchargements et du dernier téléchargement header("Location: $file"); //redirection vers le fichier à téléchargé exit(); } ?>
Structure de la table :

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `download` ( `id` int(11) default NULL, `url` longtext collate latin1_german2_ci, `nb` int(11) NOT NULL default '0', `date` datetime default NULL, UNIQUE KEY `id` (`id`) )
Fonctionnement du script :

Pour ajouter un téléchargement, je le fais manuellement dans la base de données (nouvel ID et url du fichier)
Sur la page de mon site qui contient un lien de téléchargement, je fais un include :

Code : Tout sélectionner

<?php include("../compteurdl.php"); ?>
Et le lien du téléchargement est simplement du type :

Code : Tout sélectionner

<a href="../download.php?id=1">Lien 1</a>
Or, je viens de me rendre compte que lorsqu'on essaie de télécharger un fichier sur mon site, j'ai simplement le message "Pas de fichier sélectionné" qui apparaît ....

Si quelqu'un a une idée sur ce qui se passe, ce serait vraiment super.

J'ai cherché d'autres scripts de gestion de téléchargement mais ils sont tous "trop compliqués" (trop de fonctions) pour le simple usage que je souhaite en faire >> nombre de fois que le fichier a été téléchargé + date du dernier téléchargement.

Donc voilà, merci d'avance ...

Posté : 04 août 2008, 22:55
par dunbar
Dans ton fichier download.php comment récupére tu $id :?:

Posté : 04 août 2008, 23:01
par pomelo
Bonsoir,

Je ne connais pas le fonctionnement de ce script étant donné qu'il n'est pas de moi (je n'y connais rien en php)

J'ai eu une solution ce matin sur un autre forum, je pensais être venue la mettre ici mais apparemment non ...

avant

Code : Tout sélectionner

if (!isset($id))
ajouter

Code : Tout sélectionner

$id = $_GET['id'];
Désolée pour le dérangement ...

Bonne soirée

Posté : 04 août 2008, 23:06
par dunbar
C'est ce que je voulais dire tu ne récupérais pas la valeur de $id, :wink: mais je comptais l'expliquer pas te donner la solution.
Bonne chance

Posté : 04 août 2008, 23:09
par pomelo
Merci :)

Si je suis venue ici, c'était justement pour avoir une solution.
Je ne suis pas codeur et ce script n'est pas de moi (il a été apparemment abandonné par son auteur) donc, comme je souhaitais continuer à l'utiliser ...

En tout cas merci et bonne continuation à vous :)