Downloadzählerskript - Auto. Download

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Downloadzählerskript - Auto. Download

    Hallo,

    ich habe folgendes Problem:

    Ich habe einen Skript, wenn der ausgeführt wird, wird der Wert in einer Datei um 1 erhöht, ein einfacher Downloadzähler... Nun möchte ich, das wenn man auf den Download-Knopf drückt, das der Downloadzählerskript ausgeführt wird, das der Download gestartet wird und das man zur "Danke für den Download"-Seite kommt.

    Mein skript:

    HTML-Quellcode

    1. <a href="/download001.php" onmouseover="document.images.download.src='download2.png'" onmouseout="document.images.download.src='download1.png'" onclick="
    2. ?>"> <img src="download1.png" name="download" alt="Download Button" onclick="<?php
    3. $file = 'erdeversenken.txt';
    4. $handle = fopen($file, 'r+');
    5. $count = (int)fread($handle, filesize($file));
    6. rewind ($handle);
    7. fwrite ($handle, ++$count);
    8. fclose ($handle);
    9. ?>
    10. "></img> </a>
    Alles anzeigen


    Natürlich geht das nicht, wie könnte es denn gehen. Die download001.php ist die "Danke für den Download"-Seite.

    Ich hoffe ihr könnt mir helfen!

    Mfg

    Fynnl
    [FONT="Verdana"] [COLOR="Lime"]Alt ist man erst [COLOR="lime"]dann[/color] , wenn man [COLOR="lime"]mehr Freude [/color]an der [COLOR="lime"]Vergangenheit[/color], als an der [COLOR="lime"]Zukunft[/color] hat.[/FONT][/color]

    [FONT="Fixedsys"][COLOR="Blue"]:)[/color][/FONT]
  • Hallo,

    ich finde die Möglichkeit von BrokenSword sehr gut. Nur, was machst du/ was macht man, wenn der User JS deaktiviert hat?
    Ich würde das nicht ganz so elegant lösen. Du setzt einen Link auf eine PHP Seite (hier: downloads.php) und übergibst in der URL einen GET Parameter, der die Datei oder eine ID beinhaltet.

    PHP-Quellcode

    1. <?php
    2. // downloads.php
    3. if (!isset($_GET['id'])) {
    4. die("Kein Direktaufruf!");
    5. }
    6. $id = htmlentities($_GET['id']);
    7. switch($id) {
    8. case 1:
    9. // File mit der ID 1:
    10. // Optional: speicherort aus der DB auslesen...
    11. $r = mysql_fetch_object(mysql_query("SELECT `anzahl` FROM `downloads` WHERE `id` = '".$id."'));
    12. $q = mysql_query("UDPATE `downloads` SET `anzahl` = '".$r->anzahl++."');
    13. // Optional Abfang eines evtl. Fehlers.
    14. // Ansonsten, die Datei ausgegeben
    15. // Danach einen meta refresh auf die Danke Seite
    16. break;
    17. // dies kann sich beliebig oft wiederholen ;)
    18. }
    19. ?>
    Alles anzeigen
    mfg
    snip3r
    Neulinge * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion* IRC * Teamspeak * User helfen User
    Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten. (Bertrand Russell)