![]() |
Re: [PHP] Download-Counter
Ich hab jetzt eine meiner Meinung nach ganz schöne Lösung gefunden :)
Code:
Dabei wird die jeweilige Fileid und die Downloadid übergeben, bespielsweise mit einem Aufruf wie diesem:
<?php
switch ($_GET['file']) { case 1:$NewHeader="EMail_Checker_setup.exe"; break; ... case 28:$NewHeader="MrOnline_zip.zip"; break; } header('Location: Programme/'.$NewHeader); $db_link = @mysql_connect("localhost", "***", "***"); mysql_select_db("usr_web89_1"); $dlid=$_GET['download']; mysql_query("UPDATE dlcounter Set counter = counter+1 WHERE id=$dlid"); ?>
Code:
[url]www.schnick.de/hallo.php?file=1&download=2[/url]
|
Re: [PHP] Download-Counter
Und warum nimmst du nicht die FileID gleich mit als DownloadID?
Dann hast du die gleiche ID in der DB und PHP(switch). Außerdem vergiß das intval nicht, da man dir sonst über die ID($dlid) ganz netten Code in die DB einschleusen könnte :zwinker:
Code:
<?php
switch ($_GET['file']) { case 1:$NewHeader="EMail_Checker_setup.exe"; break; ... case 28:$NewHeader="MrOnline_zip.zip"; break; } header('Location: Programme/'.$NewHeader); $db_link = @mysql_connect("localhost", "***", "***"); mysql_select_db("usr_web89_1"); $dlid=intval($_GET['file']); mysql_query("UPDATE dlcounter Set counter = counter+1 WHERE id=$dlid"); ?> ![]() Und wenn du nicht ständig an der PHP und der DB rumspielen willst, wenn du was hinzigefügt/gelöscht/geändert hast, dann mach doch alles in die DB, also ID | Dateiname | Counter Ach ja, es macht sich auch nicht schlecht, wenn du noch prüfst, ob es die gewünschte ID überhaupt gibt. |
Re: [PHP] Download-Counter
Naja ich hab immer ein Setup und eine Zip von jedem Programm. Ich biete also 28 Downloads an, aber ich zähle nicht jede einzelne Datei im Counter sondern jedes Programm. Deswegen 2 Variablen.
Das mit dem intval wusste ich nicht, danke ;) |
Re: [PHP] Download-Counter
Zitat:
Zitat:
entweder man rechnet die Counter der beiden Dateien bei der Ausgabe/Auswertung zusammen (hat aber zwei Counter), oder man könnte natürlich immernoch Runden und dergleichen
Code:
Also
<?php
switch ($_GET['file']) { case 0: $NewHeader = "EMail_Checker_setup.exe"; break; case 1: $NewHeader = "EMail_Checker_zip.zip"; break; ... case 26: $NewHeader = "MrOnline_setup.exe"; break; case 27: $NewHeader = "MrOnline_zip.zip"; break; } header('Location: Programme/'.$NewHeader); $db_link = @mysql_connect("localhost", "***", "***"); mysql_select_db("usr_web89_1"); mysql_query("UPDATE dlcounter Set counter = counter+1 WHERE id=" . [i][b](intval($_GET['file']) & ~1)[/b][/i]); @mysql_close($db_link); ?> Datei 0 und 1 = Counter 0 Datei 2 und 3 = Counter 2 Datei 4 und 5 = Counter 3 ... oder wie wäre es mit dividieren °_°
Code:
Also
mysql_query("UPDATE dlcounter Set counter = counter+1 WHERE id=" . [i][b]floor(intval($_GET['file']) / 2)[/b][/i]);
?> Datei 0 und 1 = Counter 0 Datei 2 und 3 = Counter 1 Datei 4 und 5 = Counter 2 Ach ja, wenn du eh nicht die DB wieder schließt, dann brauchst du auch nicht die Verbindungs-Kennung in $db_link zu speichern ;) |
Re: [PHP] Download-Counter
Tja man merkt wohl, dass ich noch ziemlich neu in diesem Metier bin :)
Also Frage: Wenn ich 1 durch 2 Teile, was bekomme ich bei PHP für ein Ergebnis? 1? Das wäre ja ideal! Hatte ich auch anfangs drüber nachgedacht, aber wieder verworfen, da ich mir nicht im Klaren darüber war, was diese Rechnung ergeben würde. Die Datenbank schiließen? Mach ich doch glatt :) |
Re: [PHP] Download-Counter
1 / 2 = 0.5
also abgerundet (floor) = 0, oder aufgerundet (ceil) = 1 :zwinker: und gerundet (round) ... weiß gerade nicht, oder PHP im gegensatz zu Dlphi mathematisch korret rundet, aber 0.5 sollte wohl auch 1 ergeben :?: |
Re: [PHP] Download-Counter
Hallo,
Zitat:
Gruß xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz