Download-Anzahl

07/30/2013 14:24 lnqlorlouz#1
Hallo,

ich habe zwar "gegoogled", aber da das eher für fortgeschrittener Anwender ist, frage ich einfach mal hier.

Und zwar möchte ich, dass wenn man auf *Download* klickt, es die Spalte Anzahl der Downloads: um eins erhöht.

Um es einfach zu schreiben: Ich suche einen Download-Zähler!

Wenn es geht vielleicht noch mit ajax, damit es direkt erhöht.
Wenn es nicht geht, natürlich auch ohne.

Vielen dank!
07/30/2013 14:59 Blume987#2
Um dir mal einen Denkanstoss zu geben:
Am einfachsten schreibst du die Zahl der Downloads in ein Textdokument und sobald jemand auf deinen Button klickt lässt du z.B. per php die Textdatei auslesen, die Zahl + 1 rechnen und wieder hineinschreiben.
Um die Anzahl der downloads gleich auf dem Button zu haben lässt auch einfach per php die Zahl im Textdokument auslesen und ausgeben.
07/30/2013 15:21 'Aleo#3
Quote:
Originally Posted by Blume987 View Post
Um dir mal einen Denkanstoss zu geben:
Am einfachsten schreibst du die Zahl der Downloads in ein Textdokument und sobald jemand auf deinen Button klickt lässt du z.B. per php die Textdatei auslesen, die Zahl + 1 rechnen und wieder hineinschreiben.
Um die Anzahl der downloads gleich auf dem Button zu haben lässt auch einfach per php die Zahl im Textdokument auslesen und ausgeben.
Ich denke eine Datenbank wäre hier eine bessere Lösung.
07/30/2013 15:24 Blume987#4
Quote:
Originally Posted by 'Aleo View Post
Ich denke eine Datenbank wäre hier eine bessere Lösung.
Wenn es nur um eine einzige Zahl geht benötigt man nicht gleich eine ganze Dantenbank - meiner Meinung nach ;)
07/30/2013 15:29 lnqlorlouz#5
Und wie ist der PHP-Code? Hab echt null Ahnung. Trotzdem danke.

Gerne kann es auch eine Datenbank sein, daran soll es nicht scheitern, nur der Aufwand sollte nicht so groß sein.
07/30/2013 15:49 Blume987#6
Viel Spaß damit ;)

Code:
<form method="post">
<input type="submit" name="SUBMIT" value="klick mich!">
</form>

<?php
$handle = fopen("zaehler.txt","r"); //txt auslesen
   $i = fgets($handle,1000);
   fclose($handle);
echo $i; //ausgabe der jetzigen Zahl

if(isset($_POST["SUBMIT"])) {
   $j = $i + 1; //letzte zahl mit 1 addieren
   $handle = fopen("zaehler.txt","w"); //neue Zahl in txt schreiben
   fputs($handle,$j);
   fclose($handle);
}
?>
08/01/2013 03:27 lnqlorlouz#7
Quote:
Originally Posted by Blume987 View Post
Viel Spaß damit ;)

Code:
<form method="post">
<input type="submit" name="SUBMIT" value="klick mich!">
</form>

<?php
$handle = fopen("zaehler.txt","r"); //txt auslesen
   $i = fgets($handle,1000);
   fclose($handle);
echo $i; //ausgabe der jetzigen Zahl

if(isset($_POST["SUBMIT"])) {
   $j = $i + 1; //letzte zahl mit 1 addieren
   $handle = fopen("zaehler.txt","w"); //neue Zahl in txt schreiben
   fputs($handle,$j);
   fclose($handle);
}
?>
Komme jetzt nicht mehr weiter :confused:
Jetzt hab ich zwar den Button und den Zähler, aber wie verlinke ich nun meinen Download mit dem Button?

Habe es zwar geschafft, den Download in den Button zu bekommen mit der get Methode. Aber da ist irgendwas schief gelaufen, es downloadet es zwar, aber wenn man die Seite per F5 aktualisiert steigt automatisch der Download-Zähler, obwohl man nicht downloadet.

Hier der Code von dem Button:
HTML Code:
<form method="get" action="/downloads/2d.rar">
<button type="submit" name="SUBMIT">Download!</button>
</form>
Der Code vom Zähler hab ich gleich gelassen, vielleicht ist es auch falsch strukturiert, hier der ganze Code:

PHP Code:
<td><?php
$handle 
fopen("zaehler.txt","r"); //txt auslesen
   
$i fgets($handle,1000);
   
fclose($handle);
echo 
$i//ausgabe der jetzigen Zahl

if(isset($_POST["SUBMIT"])) {
   
$j $i 1//letzte zahl mit 1 addieren
   
$handle fopen("zaehler.txt","w"); //neue Zahl in txt schreiben
   
fputs($handle,$j);
   
fclose($handle);
}
?><form method="get" action="/downloads/2d.rar">
<button type="submit" name="SUBMIT">Download!</button>
</form></td>
08/01/2013 11:31 Acin™#8
Das mit der Textdatei ist schrott.
Deine nicht vorhandenen PHP Kenntnisse ebenfalls.
Spätestens wenn du mehrere Downloads anbietest, benötigst du eine Datenbank.
08/01/2013 12:31 tolio#9
oder ganz viele text dateien, lol :D

schon richtig, sowas gehört in eine datenbank
08/01/2013 17:52 Gentleman Jack#10
Wenn es auf cms basis läuft haben viele es auch schon integriert oder das php beispiel von oben nehmen.
08/01/2013 17:55 Hackslary21st#11
Quote:
Originally Posted by Blume987 View Post
Wenn es nur um eine einzige Zahl geht benötigt man nicht gleich eine ganze Dantenbank - meiner Meinung nach ;)
Eine tabelle reicht schon für die downloads. Datenbanken sind für sowas perfekt und schnell.
08/02/2013 02:17 lnqlorlouz#12
Das meine PHP-Kenntnisse schrott sind ist mir selber bereits bewusst. Behaupte ja auch nicht, dass ich es drauf hätte. Sonst würde ich hier nicht um Rat bitten.

Und ein CMS will ich aber nicht nehmen! Vielleicht kann mir einer ja mal helfen? Wie mache ich das mit den Downloads richtig, wie verbinde ich meine Anzahl der Downloads mit einer Datenbank richtig?

Hier meint - fast - Jeder er wäre der PHP- & HTML-Skiller, aber mir hilfreiche Tipps, die zum Ziel führen sind keine dabei...
08/02/2013 12:50 .BlueExorcist#13
Quote:
Originally Posted by lnqlorlouz View Post
Das meine PHP-Kenntnisse schrott sind ist mir selber bereits bewusst. Behaupte ja auch nicht, dass ich es drauf hätte. Sonst würde ich hier nicht um Rat bitten.

Und ein CMS will ich aber nicht nehmen! Vielleicht kann mir einer ja mal helfen? Wie mache ich das mit den Downloads richtig, wie verbinde ich meine Anzahl der Downloads mit einer Datenbank richtig?

Hier meint - fast - Jeder er wäre der PHP- & HTML-Skiller, aber mir hilfreiche Tipps, die zum Ziel führen sind keine dabei...
Sie haben anregungen gegeben, leb damit das dir nicht jeder nen fertigen Code in den Hintern schiebt
08/02/2013 13:25 Serraniel#14
Ich will ja mal nicht so sein:

Du machst dir ne SQL Datenbank mit einer Tabelle:
PHP Code:
CREATE TABLE tbl_downloads(
name TEXT,
counter int(6) DEFAULT 0,
PRIMARY KEY(name)); 
Dann hast du einen Downloadbutton in der html die au fden Download verlinkt:
HTML Code:
<input type="button" value="Download" onClick="parent.location='./download.php?name=DEIN_SOFTWARENAME&download=DOWNLOAD_LINK'">
Dann sieht deine download.php so aus:
PHP Code:
<?php
$name 
$_GET["name"];
$link $_GET["download"];
$db = @new mysqli('DB_SERVER''DB_USER''DB_PASS''DB_NAME');
if(
mysqli_connect_errno() == 0)
{
    
$sql "SELECT counter FROM tbl_downloads WHERE name = '".$name."'";
    
$query $db->query($sql);
    
$result $query->fetch_object();
    
$count $result->counter 1;
    
    
$sql "UPDATE tbl_downloads SET counter = ".$count." WHERE name = '".$name."'";
    
$query $db->query($sql);
    
    
header('Location: '.$link]);
}
?>
Kannst ir nach eigenen Ermessen dann nen Deisgn basteln in html. Hoffe hab jetzt so au fder shcnelle keien Fehler reingebastelt :'D


PS: Danke sagen schadet nicht^^
08/02/2013 17:03 Blume987#15
Quote:
Originally Posted by -Rainbow View Post
Das mit der Textdatei ist schrott.
Deine nicht vorhandenen PHP Kenntnisse ebenfalls.
Spätestens wenn du mehrere Downloads anbietest, benötigst du eine Datenbank.
Was heisst hier nicht vorhanden Kenntnisse??
So wie ich das verstanden habe wollte er einen einfachen Downloadzähler für eine schätzungsmäßig kleine private Webseite. Da er nach seiner Beschreibung wenig Ahnung hat, war ich der Meinung, dass es mit einer einfachen Textdatei getan ist. Somit hat er wenig Arbeit und einen kleinen, funktionierenden Code.

zum Code - füge in die if Anweisung zum Schluss noch
PHP Code:
echo ('<script>window.location.href="http://elitepvpers.com"</script>');