Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Download teller

allcheats
15 antwoorden
  • Ik ben bezig met een website. Er komt ook een download pagina waarop allerlei handige(vind ik dan) downloads komen te staan. Ik wil graag dat hij bijhoudt hoevaak een download is gedownload. Weet iemand hoe ik dit kan doen? Het mag met MySQL omdat dat er ook voor wordt gebruikt.

    Gegroet,

    Rens_uit_His
  • Als je alleen het aantal downloads wil weten waarom lees je je webserver logfiles dan niet uit (via een logfile analyzer)? Als je alle downloads in dezelfde folder zet moet dit toch wel makkelijk te extraheren zijn uit je webstatistieken.

    Een andere oplossing is om alle downloads in een table te zetten, bijv:
    [code:1:b3bfe2c398]
    TABLE downloads
    - downloadId
    - fileDescription
    - fileLocation
    - downloadCounter
    [/code:1:b3bfe2c398]

    Bij de opbouw van de pagina doorloop je de table in een lus en schrijf je linkjes weg naar een tellerscript waar je de id van de file aan meegeeft (in de querystring). En in het tellerscript verhoog je de downloadCounter
    [code:1:b3bfe2c398]
    UPDATE downloads
    SET downloadCounter = downloadCounter + 1
    WHERE downloadId = $Id
    [/code:1:b3bfe2c398]
    Waarbij $Id de waarde uit de querystring is.

    Daarna vraag je de filelocation op uit de database zodat je daar naartoe kan redirecten.
    [code:1:b3bfe2c398]
    <?php
    // …. rest van code

    Header ("Location: " . $LocationFromDatabase);
    ?>
    [/code:1:b3bfe2c398]

    p.s. alles pseudo-code en ongetest
  • Sorry, maar ik kom er niet helemaal uit :oops:

    Misschien kun je mijn scriptje even aanpassen??

    Dit is mijn SQL-code:
    [code:1:706e3bb6b8]
    CREATE TABLE downloads (
    download_id int(11) NOT NULL auto_increment,
    categorie varchar(100) NOT NULL default '',
    titel varchar(100) NOT NULL default '',
    beschrijving tinytext NOT NULL,
    link tinytext NOT NULL,
    downloadcounter int(11) NOT NULL default '0',
    PRIMARY KEY (download_id)
    ) TYPE=MyISAM;
    [/code:1:706e3bb6b8]

    En dit is de code van de downloads pagina(downloads.php)
    [code:1:706e3bb6b8]
    <html>
    <head>
    <style type="text/css">
    <!–
    a:link { text-decoration: none;color:#000000}
    a:hover { text-decoration: none; color:red}
    –>
    </style>
    <!–
    @import "downloads.css"
    –>
    <?php
    $database_server = mysql_connect('localhost', username', 'password');

    // Selecteer de 'werk'-database
    mysql_select_db("downloads", $database_server);

    // Selecteer downloads waar id = groter dan 0
    $sql = "SELECT * FROM downloads WHERE download_id > 0";

    // Voer die query uit
    $resultaat = mysql_query($sql);

    // Aantal rijen
    $aantal = mysql_num_rows($resultaat);
    echo "<center>Er zijn <b>$aantal</b> downloads:<P></center><hr>
    ";

    // Maak een lus om alle items te laten zien
    while ($record = mysql_fetch_object($resultaat)) {
    echo "<b>$record->phpBB2</b>
    <center>
    <table border='1' bordercolor='red' width='100%' bgcolor='#D1D1D1'>
    <tr>
    <td width='10%'>
    <B>Categorie:</B> $record->categorie</td><td>
    <A HREF='$record->link'><IMG SRC='images/download' border=0 alt='Download!'>$record->titel</A>
    </td>
    </tr>
    <tr>
    <td width='50%'>
    <IMG SRC='images/desc' alt='Description'>$record->beschrijving<br>
    </td>
    </tr>
    </table>
    </center>
    <hr>
    ";
    }
    ?>
    </head>
    </html>
    [/code:1:706e3bb6b8]

    Alvast hartelijk bedankt.

    Groetjes,

    Rens_uit_His

  • [quote:7f8cf41827="Rens_uit_His"]
    En dit is de code van de downloads pagina(downloads.php)
    [code:1:7f8cf41827]
    <html>
    <head>
    <style type="text/css">
    <!–
    a:link { text-decoration: none;color:#000000}
    a:hover { text-decoration: none; color:red}
    –>
    </style>
    <!–
    @import "downloads.css"
    –>
    <?php
    $database_server = mysql_connect('localhost', username', 'password');

    // Selecteer de 'werk'-database
    mysql_select_db("downloads", $database_server);

    // Selecteer downloads waar id = groter dan 0
    $sql = "SELECT * FROM downloads WHERE download_id > 0";

    // Voer die query uit
    $resultaat = mysql_query($sql);

    // Aantal rijen
    $aantal = mysql_num_rows($resultaat);
    echo "<center>Er zijn <b>$aantal</b> downloads:<P></center><hr>
    ";

    // Maak een lus om alle items te laten zien
    while ($record = mysql_fetch_object($resultaat)) {
    echo "<b>$record->phpBB2</b>
    <center>
    <table border='1' bordercolor='red' width='100%' bgcolor='#D1D1D1'>
    <tr>
    <td width='10%'>
    <B>Categorie:</B> $record->categorie</td><td>
    <A HREF='$record->link'><IMG SRC='images/download' border=0 alt='Download!'>$record->titel</A>
    </td>
    </tr>
    <tr>
    <td width='50%'>
    <IMG SRC='images/desc' alt='Description'>$record->beschrijving<br>
    </td>
    </tr>
    </table>
    </center>
    <hr>
    ";
    }
    ?>
    </head>
    </html>
    [/code:1:7f8cf41827]
    [/quote:7f8cf41827]
    Dit ziet eruit als een stukje code wat download-gegevens uit een database haalt, zoals url en beschrijving.
    Allereerst moet je bovenaan bij:
    [code:1:7f8cf41827]$database_server = mysql_connect('localhost', username', 'password'); [/code:1:7f8cf41827]
    je gebruikersnaam en wachtwoord invullen.

    Je moet je code zo aanpassen dat als er op een download geklikt wordt hij een pagina aanroept waar hij eerst de teller ophoogt, endaarna de file download. (zie de code van Annie)

    Krijg je nu uberhaupt iets te zien op je scherm, of kan hij geen verbinding maken met de database?

    suc6

  • Dit zoek ik ook maar alleen ik wil eigenlijk zonder php en mysql is dat ook mogelijk of niet??

    Bij voorbaat dank

    Alwin Winius
  • [quote:433f26791d="allcheats"]zonder php en mysql[/quote:433f26791d]
    Wat heb je wel tot je beschikking?
  • @ mr. 18:

    Van die host, naam en pass snap ik, ik heb het scriptje zelf geschreven :-?

    [quote:92ddef9014="Mr.18"]
    Je moet je code zo aanpassen dat als er op een download geklikt wordt hij een pagina aanroept waar hij eerst de teller ophoogt, endaarna de file download. (zie de code van Annie)
    [/quote:92ddef9014]

    Hier gaat het mij juist om, ik weet niet precies hoe ik die code aan moet passen.
  • [quote:1544634ad6="Annie"]Wat heb je wel tot je beschikking?[/quote:1544634ad6]

    Heb gewoon een standaard html servertje www.netfirms.com

    Cya
  • dan kan het niet (lijkt me logisch…)
  • [quote:9d44268dd5="allcheats"]Heb gewoon een standaard html servertje www.netfirms.com[/quote:9d44268dd5]

    Met een HTML servertje kun je (lijkt mij) geen php draaien :wink:

    Majah, zal dadelijk wel eens ff gaan zitten klooien met m'n script. Heb vorige week niet veel tijd gehad en gister helemaal geen.
  • ehm…

    wat je kan doen is dit…

    vraag een nedstat teller aan.

    en kijk hier eens naar:
    [code:1:9dc77a6135]
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title></title>
    <script>
    function blaat() {
    document.getElementById('nedstat_teller').style.display='inline';
    }
    </script>
    </head>
    <body>
    <a href="download.zip" onclick="blaat()">ik ben een download</a>
    <span id="nedstat_teller" style="display:none; visibility:hidden;">
    <!– Begin Nedstat Basic code –>
    PLAK HIER DUS JE NEDSTAT TELLER CODE….
    <!– End Nedstat Basic code –>
    <span>
    </body>
    </html>
    [/code:1:9dc77a6135]

    [b:9dc77a6135]edit: de nedstat teller wordt pas geladen op het moment dat er op de download link geklikt wordt[/b:9dc77a6135]

    t.
  • Nou, das denk ik niet wat ik wil. Een netstat teller is om bezoekers te tellen toch? Ik wil een teller die telt hoe vaak een klein progje of zo is gedownload.
  • dit was ook meer een antwoord op allcheats.

    Overigens doet dit ook precies wat jij wil, maar dan zonder php en mqsql..

    t.
  • P.S. werkt die downloadteller ook op afbeeldingen???

    Bij voorbaat dank

    Alwin Winius
  • maak van de onclick een onload en probeer het…..

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.