En download counter

Tags:    php

Jeg har lavet en side, med et program jeg har lavet. Men hvem er ikke interesseret i at vide hvor mange der ca. har det..? Derfor vil jeg gerne lave en download counter, men har ikke kunnet få mange til at virke. Det her er min første side jeg laver kun i kode, så vær venlig at skrive en forklaring på at lave det meget detaljeret. På forhånd tak



9 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Jeg har lavet en side, med et program jeg har lavet. Men hvem er ikke interesseret i at vide hvor mange der ca. har det..? Derfor vil jeg gerne lave en download counter, men har ikke kunnet få mange til at virke. Det her er min første side jeg laver kun i kode, så vær venlig at skrive en forklaring på at lave det meget detaljeret. På forhånd tak


Ved ikke helt hvad det er du mener?
Men hvis du mener hvordan man laver en counter, så kig her :)


Du kan evt. lave en iFrame på din forside, 0x0.
Så linker du til evt. hits.php, i hits.php, har du et databaseudtræk.
Med en tabel f.eks. hits, og kollone med hits.
Enkelt er det, du ligger bare 1 til i hits (hits+1), også har du faktisk en simpel counter..





Lav en tabel med felterne "id" "url" og "hits" og navnet "downloads", udfyld fx:

id=1; url=http://minside.dk/mine_programmer/app.exe; hits=0;
id=2; url=http://minside.dk/mine_programmer/app2.exe; hist=0;

og lav så et php-script med navnet download.php:

Fold kodeboks ind/udKode 


som så bruges sådan:

<a href="download.php?id=1">Hent mit program</a>
og
<a href="download.php?id=2">Hent mit andet program</a>

[Redigeret d. 11/12-05 13:05:42 af Jesper Kristensen]



Har lavet denne kode til shafh.dk!
Tag dig ikke af det med $filename = $_GET["id"];. Det er bare den måde denne kode finder du af hvad der skal hentes!




require_once('config.php');
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);

$filename = $_GET["id"];

$query = mysql_query("SELECT sti FROM downloadfiler WHERE id = '$filename'")
or die(mysql_error());
$query = mysql_fetch_array($query);

$filnavn = $query["sti"];

/*COUNTER*/
mysql_query("UPDATE downloadfiler SET count=count+1 WHERE id = '$filename'");

?>

<form name="redirect">
<center>
<b>Vent veligst indtil filen er klar til at blive downloadet<br><br>
<form>
<br>
<input type="text" size="3" name="redirect2">
</form>
Sekunder</b>
</center>

<script>

//change below target URL to your own
var targetURL="http://shafh.dk/produkter/filer/<? echo"$filnavn"?> "
//change the second to start counting down from
var countdownfrom=5


var currentsecond=document.redirect.redirect2.value=countdownfrom+1
function countredirect(){
if (currentsecond!=1){
currentsecond-=1
document.redirect.redirect2.value=currentsecond
}
else{
window.location=targetURL
return
}
setTimeout("countredirect()",1000)
}

countredirect()
</script>




Shafh
www.shafh.dk
Shafh@stofanet.dk
Theis F. Hinz

Make you glad to change the world



Hmm.. Fint script, tror jeg.. Altså til at tælle sekunder? :S Jeg er for noobet til det her, tror bare jeg glemmer alt om at lave det... Men ellers tak for hjælpen folks ^^


Du kan downloade en link counter her: http://script.dk/sourcecode.jsp?action=showDownloadUrl&resourceId=1264

Men HUSK at læse readme filen...

---------------------------------------------------
Mvh. Simon

Http://www.skymann.frac.dk



Tjah.. Det er sikkert rigtigt nok det I skriver, men det er begrænset hvad jeg forstår af det. Jeg er slet ikk inde i det her med hverken html eller php... Jeg kan kun grundpricippet i det, hvis I forstår..!
Altså, måske det ville hjælpe hvis der var lidt muligheder at vælge i mellem?
Jeg vil enten gerne have en download counter, altså en tæller, der tæller 1 op hver gang der er en, der downloader mit program. Eller en "form" der skal udfyldes. Navn, Mail, evt kommentar, når personen trykker på "Send & Download". Skal det personen har skrevet blive sendt til min mail og downloaden skal starte, på samme tid helst.
Sidste mulighed er at lave, igen en "form" der skal udfyldes hvor man skriver navn og mail, trykker på "Send" og det bliver sendt til min mail, hvorefter min mail vil sende automatisk tilbage til personens mail med et link til min download... Den sidste er nok lidt for kompliceret, men jeg vil da sige nummer to skulle være til at finde ud af?



Er det en counter eller et brugerregistreringsscript du vil lave? Det er jo to vidt forskellige ting. Du må prøve at sige, hvad du ikke forstår i det vi har skrevet, ellers er det svært at hjælpe.



Ja, det ka du jo have ret i. Altså, en download counter, en der tæller hvor mange gange en bestemt fil er blevet downloadet... De andre to ting var bare en anden måde jeg eventuelt kunne se hvor mange der havde programmet, sådan ca. Altså, jeg er en seriøs noob til det her html og php... Så kode og forklaring ville være dejligt... Linket til downloaden er http://www.configmaker.im1337.dk/ConfigMaker1.0Setup.zip
Det link der, skal "countes" der skal være den hits liste som man ser på mange sider. Håber du forstår nu :S



Ideen med Jesper's kode er det du beder om sådan set.

han vil have du gemmer dine links til det du ønsker downloadet i en database tabel og så assosiere hvert link med et id.

og I dine html filer linker du så i stedet for til download.php med ?id=urlId.

i filen download.php bruges han så det sendte id til at hente den korekte url for filen fra databasen og så opdatere han filens hit counter som er gemt i databasen også.

efter dette sætte han header location til at den rigtige url dette vil forårsage filer som zip til at åbne en download dialog(ideelt set).
-----------------------------------------------------------------------------

Min side ->www.the-hive.dk/~donp/



Hmm.. Fint script, tror jeg.. Altså til at tælle sekunder? :S Jeg er for noobet til det her, tror bare jeg glemmer alt om at lave det... Men ellers tak for hjælpen folks ^^



t