02. juli 2003 - 15:52Der er
31 kommentarer og 1 løsning
Registrere download
Hej.
Ved download af en fil, ønsker jeg at forhøje værdien i mit felt "dnld" (DowNLoaD) med 1. Det jeg ikke kan finde ud af er, hvordan jeg får hentet filen, og samtidig starter et PHP script, der forhøjer værdien.
Har tænkt på noget med onclick="og så noget kode her" - men det har jeg ikke haft held med. Nogen forslag ?
Du linker direkte til et php-script med et nummer som identificerer din download og udfører følgende:
//kobl op til db //opdater tabel udfra download-id //send diverse headere der matcher typen på den fil der skal downloades og fortæller browseren at filen er beregnet til download //send filen afsted
Der bliver ikke sendt noget konkret html-output til browseren på denne måde og dermed bliver man stående på samme side som linket til filen og får bare en boks op med hvor filen skal gemmes henne!
Jeg har ikke selv et færdigt script liggende, men det er der nok andre der har!
Ovenstående giver ikke html-output, så du bliver stående på den oprindelige side, hvis det er ordentligt lavet!
Og problemet med at tekst-filer vises kan styres med de rigtige headere som fortæller browseren hvad den skal gøre - det største problem er så at tage højde for IE som ikke opfører sig efter standarderne og der derfor skal laves specialkode så det også fungerer i denne browser.
if (isset($kate,$file)) { mysql_query("UPDATE uploads SET dnld = dnld+1 WHERE id = $id") or die(mysqL-error()); header("Location: upload/$kate/$file"); }
Ja, den er self. lettere :) Men vil alligevel gerne vide, hvad der er galt med : $q = mysql_query("SELECT dnld FROM uploads WHERE id = '$id'"); $rowq = mysql_fetch_array($q);
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.