Avatar billede amews_aj Nybegynder
02. august 2005 - 19:53 Der er 1 løsning

Tjekke om filen er hentet

Jeg har for lidt siden haft dette spg åben: http://eksperten.dk/spm/636827

Det virkede fint, indtil jeg skulle rette noget andet i koden, så virkede det ikke mere.

if ( $pay == "pay" && $dl == $payfile) {
$theFile = $dl;

header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header ("Content-Type: application/octet-stream");
header ("Content-Length: " . filesize($theFile));
header ("Content-Disposition: attachment; filename=$theFile");

readfile($theFile);

    if ( !connection_aborted() && connection_status() == 0)
    {
    mysql_query("UPDATE login SET action = '' WHERE bruger = '".$dlbruger."'");
    }

}else{
echo "<script type=\"text/javascript\">alert('Der skete en fejl!');location.replace('../index.php');</script>";
}


Linjen:
    mysql_query("UPDATE login SET action = '' WHERE bruger = '".$dlbruger."'");
Skal først køres efter filen er hentet. Men den kører den allerede når man klikker på linjen om at IE har blokeret siden i at downloade, og vælger hent fil! Så opdateres siden, og til den tid har den tømt databasefeltet, og melder derfor fejl!

Altså hvordan får jeg den til først at udføre en handling når en fil er downloadet, og ikke når den der bar i toppen popper op?
Avatar billede amews_aj Nybegynder
02. august 2005 - 20:33 #1
Løste det med cookies i stedet

En cookie, der første gang man kommer til siden bliver til 1
Anden gang er det så en ny der bliver til 1
når nummer cookie 2 = 1, vil scriptet ikke fortsætte!
Altså siden kan maks opdateres to gange, hvilket er nødvendigt!
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