Download String von der DL-Section

Begonnen von Kartoffelbrei, 10 Oktober 2003, 14:50:04

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Kartoffelbrei

wieso sieht ein string bei einem vkp zu einem download eigentlich so aus :

http://localhost/modules.php?name=Downloads&d_op=getit&lid=25   ???

und nicht z.b. so :  http://localhost/modules/download/xy.exe

?????

habe auch eine art downloadsection programmiert und blick nciht wie man zu so einem downloadstring kommt.....
würde bei meinem code auch gerne solch einen download link machen, damit der user den direkten pfad zu der datei nicht sehen kann !
sonst könnte man ja ganz leicht die datei runterladen ohne sich auf der page zu registrieren.......


gruß
brei

_Gerry_

Also ich versuch es mal verständlich zu erklären!  ;)

modules.php?name=Downloads : ruft einmal das Modul downloads auf

&dop=getit :ruft dann die function getit($lid) auf, diese ermittelt dann aus der Datenbank den Link zur Datei.

&lid=25 : Übergibt die Download Id, indem Fall die Id 25, mittels dieser ID wird dnn der Download aus der Dabelle ausgelesen.

Hier einmal die Funktion getit:
 
function getit($lid) {
    global $prefix;
    $lid = (int)$lid;  // by AE
    sql_query("update ".$prefix."_downloads_downloads set hits=hits+1 where lid=$lid");
    $result = sql_query("select url from ".$prefix."_downloads_downloads where lid=$lid");
    list($url) = sql_fetch_row($result);
    Header("Location: $url");
}


Hoffe das war nun verständlich!  :quest
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

Kartoffelbrei

SO NACHDEM ICH JETZT NE DINA4 SEITE GESCHRIEBEN HATTE UND ERST NACH DEM "ANTWORTEN" GEMERKT HABE DASS ICH KOMISCHERWEISE NICHT ANGEMELDET WAR, JETZT DAS GANZE NOCHMAL IN KÜRZE  :mad:

function getit($lid) {
    global $prefix,$X;
    $X = "Funktion ausgefürt";
    $lid = (int)$lid;
    sql_query("update ".$prefix."_downloads_downloads set hits=hits+1 where
lid=$lid");
    $result = sql_query("select url from ".$prefix."_downloads_downloads
where lid=$lid");
    list($url) = sql_fetch_row($result);
    Header("Location: $url");
}



mein aufruf im code :


echo "<tr><td width=\"20%\" bgcolor=\"$bgcolor2\" align=\"left\" valign=\"top\"><font color=\"$textcolor\"><A HREF=\"modules.php?name=Downloads&d_op=getit&lid= $record->lid\" NAME=\"DOWNLOAD\">


und das kommt als link dabei heraus :
http://localhost/test/modules.php?name=test&d_op=getit&lid= 13
was ja auch passen würde

echo "<BR><BR>$X";

wieso geht das nicht ?
X bleibt immer leer
sprich die funktion wird erst garnicht aufgerufen wies ausschaut !
es kommt aber kein fehler !

[Editiert am 13/10/2003 von Kartoffelbrei]

Kartoffelbrei


JensWagenknecht

Mit d_op wird ihm mitgeteilt was ermachen soll, also welche Funktion er aufrufen soll.
Nur muss es ihm ja erst einmal jemand sagen.
Und das wird hier unten mit switch gemacht.


global $newdownloadshowdays,$ratenum, $ratetype,$min, $orderby, $show;
switch(@$d_op) {


 case "getit":
    getit($lid);
    break;


Das andere muss natürlich stehen bleiben.