compteur de téléchargement avec mysql

cobix25
Invité n'ayant pas de compte PHPfrance

18 déc. 2005, 09:48

Bonjour !

j'ai un problème avec mon code php pour créer un compteur de téléchargement.
j'ai créé une table dl avec id, lien, nbr comme champs.
Puis j'ai créé un fichier download.php

voici le code de cette page :
<?
mysql_connect("localhost", "cobix25_stats", "xxxxxxx"); // Connexion à MySQL
mysql_select_db("cobix25_stats"); // Sélection de la base

$id = $_GET['id'];
$requete = "UPDATE dl SET nbr=nbr+1 WHERE id='".$id."'";
$sql = "SELECT lien FROM dl WHERE id='".$id."'";
$lien=mysql_query("$sql");
mysql_query("$requete");
?>

<p>Si le téléchargement ne démarre pas, cliquez <a href="<?$lien?>">ici</a></p>
<?php
mysql_close();
?>
<script language="JavaScript">
setTimeout("window.location='<?$lien?>'",2000); // delai en millisecondes
</script>

Mammouth du PHP | 19672 Messages

18 déc. 2005, 11:58

Avec ceci
<a href="<?$lien?>">ici</a>
Il ne peut rien se passer, il faudrait remplacer par:
<a href="<?php  echo $lien ?>">ici</a>
Où à la rigueur :
<a href="<?=$lien?>">ici</a>
Mais cette dernière option suppose que la directive short_open_tag est disponible dans la configuration de PHP ce qui n'est pas forcément le cas chez tous les hébergeurs, à éviter donc.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

cobix25
Invité n'ayant pas de compte PHPfrance

18 déc. 2005, 21:26

OK merci pour le conseil mais
le problème principale c'est que la fonction $lien contient Resource id #26//
alors qu'elle devrait contenir une URL du type http://www.grafikcreation.com/styles/gr ... _metal.asl

Merci !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 déc. 2005, 22:49

il faut "extraire" les données que l'exécution de la requete renvoie avec mysql_fetch_array() ou un de ses cousins :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

19 déc. 2005, 10:18

Ah OK
Merci !