Avatar billede mjl Nybegynder
08. november 2006 - 11:16 Der er 24 kommentarer og
1 løsning

Tælle antal zip-fil downloads

Hej der ...

Jeg har nu givet op over for følgende problem ...

Jeg vil gerne, på en eller anden måde reg./tælle antal klik/downloads af div. zip-filer.

Jeg har forsøgt at "forlænge" linket med et id ...

<a href=navn.zip?id=1>Zip-filen</a>

...men så henter den jo ikke filen ! Arghhh... !

Hvad skal jeg gøre !?
Avatar billede inctor Nybegynder
08. november 2006 - 11:25 #1
download.php :
<?
$url_root="ROOT";
$filename="Filnavn";

header("Location: $url_root/$filename");

mysql_query("INSERT INTO dl (antal,ip) VALUES('1','$ip'));
echo "Den er nu registreret";
?>

Sæt // foran mysql_query for at teste om det virker uden at den ligger i Db ..

Det er ikke testet ..
Avatar billede mjl Nybegynder
08. november 2006 - 11:35 #2
Øv...

Cannot add header information - headers already sent by .......
Avatar billede mjl Nybegynder
08. november 2006 - 12:12 #3
Måske findes der en anden måde ... ?
Avatar billede challenge Praktikant
08. november 2006 - 12:23 #4
Har du husket at slette alt mellemrum før "<?php" på siden?
Ellers prøv at vide din kode, så tror jeg godt at nogen kan "fetche" problemet :)

Forresten, hvis du gerne vil undgå at sætte en ny celle ind hver gang der bliver downloaded (altså spare plads), så brug en update i stedet

$pre = mysql_query("SELECT * FROM dl") or die(mysql_error());
$number_fetch = mysql_fetch_array($pre);
$number = $number_fetch["antal"];
$final = $number + 1;

mysql_query("Update dl SET antal = $final");

Men kom med koden, så kan nogen højst sandsyneligt kigge på den :)
Avatar billede mjl Nybegynder
08. november 2006 - 12:33 #5
Problemet er, at jeg har inkluderet flere doc.php i hinanden (include) - derfor melder den "Cannot add header information - headers already sent by ......." fra siderne før den hvor download faktisk ske'r ! :(
Avatar billede challenge Praktikant
08. november 2006 - 12:54 #6
Det du evt kunne gøre, var at putte inctor's kode ind i en fil for sig selv (hvilket jeg pgså troede du havde gjort :)).
Så kan du evt. kalde filnavnet med en $_GET

Noget i stil med:

<?
$url_root="ROOT";
$filename="$_GET["filename"]";

$pre = mysql_query("SELECT * FROM dl") or die(mysql_error());
$number_fetch = mysql_fetch_array($pre);
$number = $number_fetch["antal"];
$final = $number + 1;

mysql_query("Update dl SET antal = $final");

header("Location: $url_root/$filename");

?>
altså i en fil for sig selv. Fra download-siden linker du så til *filnavn*?filename=navn.zip
Avatar billede mjl Nybegynder
08. november 2006 - 13:20 #7
Det kører uden fejl nu - men ...

Skal filen hentes med en : $_GET["filnavnet.php"] ??? Den skriver nemlig ikke noget i DB'en ...
Avatar billede mjl Nybegynder
08. november 2006 - 13:27 #8
Er det noget med stien ?
Avatar billede challenge Praktikant
08. november 2006 - 13:50 #9
Nej den $_GET["filename"] henviser til filnavnet på serveren - det gør du ved at skrive ?filename= og så filnavnet som du gerne vil download; f.eks. download.php?filename=navn.zip i don browser.

Håber at jeg forklarer mig ordenligt hér, ellers my du lige sige til! :)
Avatar billede mjl Nybegynder
08. november 2006 - 13:58 #10
Jeg har lavet en fil der hedder zipcount.php, med dit indhold ...

På den side, hvor downloaden ske'r - hvordan henter jeg zipcount.php ind der ?
Avatar billede mjl Nybegynder
08. november 2006 - 13:58 #11
$url_root="ROOT"; hvad skal den ?
Avatar billede mjl Nybegynder
08. november 2006 - 14:00 #12
Jeg fatter keine ! :(
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:01 #13
$url_root skal nok ændres til mappen som zip-filerne ligger i. Evt. i forhold til zipcount.php??
Avatar billede mjl Nybegynder
08. november 2006 - 14:03 #14
Men - filen zipcount.php - den ligger bare og flyder - hvordan skal den kaldes/bruges?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:05 #15
der hvor du nu har
<a href=navn.zip>Zip-filen</a>
skal du skrive
<a href=zipcount.php?filename=navn.zip>Zip-filen</a>
Avatar billede mjl Nybegynder
08. november 2006 - 14:13 #16
10.000 gange tak - nu fes det ind under min tykke, tykke hovedskal - hold fast mand !

Dem, af Jer 3 der ønsker points - læg venligst et svar - I har været tålmodige, og fantastiske - tak igen !!!
Avatar billede challenge Praktikant
08. november 2006 - 14:35 #17
Jeg siger da ikke nej tak ;)
Avatar billede mjl Nybegynder
08. november 2006 - 14:48 #18
Hvad med "inctor" og "sw_red_6" ?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 16:03 #19
nah, ikke nogen til mig. De 2 kommentarer får du ganske gratis :o)
Avatar billede mjl Nybegynder
08. november 2006 - 16:18 #20
Jamen så takker jeg, af hjertet ! Hvis "inctor" ville ha' points, så skriv lige, så opretter jeg nogen til dig !
Avatar billede challenge Praktikant
08. november 2006 - 18:51 #21
Tak for _mange_ points :)
Avatar billede inctor Nybegynder
09. november 2006 - 00:40 #22
Naah, behøves ikke .. :) Jeg hjælper andre for at være gavmild .. Ikke for at være gråderisk .. :) heeh ..
Avatar billede mjl Nybegynder
09. november 2006 - 00:58 #23
Jamen så takker jeg mange gange for hjælpen !
Avatar billede challenge Praktikant
09. november 2006 - 15:41 #24
Jeg vil ikke kalde det grådighed - Du vil vel gerne have lidt point at dele ud, hvis du selv opretter et spørgsnål engang :)
Avatar billede challenge Praktikant
09. november 2006 - 15:46 #25
Men nu hvor du siger det, syntes jeg faktisk at det lidt grådigt af mig, at tage i mod de 200 point - Det var jo bare en udbyggelse af inctor's svar.

Skal jeg ikke oprette et spørgsmål og overføre nogle af pointene til dig inctor, så?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester