Download Protector: Countereinbau: Downloadfehler?

The Dark Listener

Grünschnabel
Moin Allerseits!

Ich hätte da mal ne Frage:

Und zwar benutze ich folgendes Download Tutorial: Download-Protector [PRO]
Das klappt auch soweit einwandfrei.

Nun will ich zusätzlich noch einen Counter einbauen, der nur zählt, wenn der Download auch geklappt hat. Deswegen setzte ich zum Beispiel bei der Stelle ### Include ### nun einen include oder ähnlichen Code ein, der auf eine Datei verweist, die zum Beispiel einen Msql Query enthält. Soweit so gut. Nur egal, ob ich jetzt dort eine Datei include, oder es direkt darein schreibe, jedesmal schickt er mir dann beim Download nur noch die Datei protector.php selbst zu.

PHP:
<?php 
## possibilities switch ("switchurl") 
## welcher Fall tritt gerade ein (dürfte selbsterklärend sein 
switch ($setok){ 
    case 1: 
         ### Include ###
        $extget = explode(".", $file); 
        $extension = $extget[1]; 
        $sendmime = $mimetypes[$extension]; 
        header ("HTTP/1.1 200 OK"); 
        header("Content-type: $sendmime"); 
        header("Content-Disposition: attachment; filename=\"$file\""); 
        readfile($dlpath.$file); 
        break; 
    case 2: 
        header("Location: $switchurl_2"); 
        break; 
    case 3: 
        header("Location: $switchurl_3"); 
        break; 
    case 4: 
        header("Location: $switchurl_4"); 
        break; 
    case 5: 
        header("Location: $switchurl_5"); 
        break; 
    default: 
        echo "World coming down **SCREAM** Not acceptable script error !"; 

} 
?>
Hat jemand ne Erklärung bzw. eine Lösung für das Problem?

Wäre sehr zum Dank verpflichtet!

Mfg TDL
 
Code beruht auf dem phpBB Forum, was ich in der Seite intigriert habe:

PHP:
<?php
## possibilities switch ("switchurl") 
## welcher Fall tritt gerade ein (dürfte selbsterklärend sein 
switch ($setok){ 
    case 1:  
        $extget = explode(".", $file); 
        $extension = $extget[1]; 
        $sendmime = $mimetypes[$extension]; 
        header ("HTTP/1.1 200 OK"); 
        header("Content-type: $sendmime"); 
        header("Content-Disposition: attachment; filename=\"$file\""); 
        readfile($dlpath.$file); 

#### neuer Code ####
        $i = $v2_main['v2_download'];
        $i++;
        $sql = "UPDATE v2_main SET
			v2_value = '" . str_replace("\'", "''", $i ) . "'
			WHERE v2_name = 'v2_download'";
   			if( !$result = $db->sql_query($sql) ) 
   			{ 
      			message_die(GENERAL_ERROR, "Could not query main - download table", $lang['Error'], __LINE__, __FILE__, $sql); 
 			}  
###################
        break; 
    case 2: 
[...]
?>
Liegt es denn am Code?

Mfg TDL
 
Ich kann jetzt keinen Fehler sehen, aber ich glaube auch das es an den Headern liegt.

Kannst du mal schreiben auf welchem Browser du das Skript probiert hast
 
Ich hab den IE 6.0 benutzt...

Aber warum sollte es denn auf einmal net mehr mit diesen Headern klappen, nur weil noch eine andere Aktion ausgeführt wird?

Mfg TDL
 
Na gut, dann leg ich halt den Counter auf die Seite davor. Ist zwar net optimal, weil es dann nicht immer sein muß, dass der User die Datei downloadet, aber besser als nichts...

Vielleicht findet ja irgendwer noch ne Lösung...

Mfg TDL
 
Zurück