pragmaMx Support Forum

Archive => veraltete bzw. unsupportete Systeme und Module => Alt Archive => VKP-Maxi & VKP-Midi & VKP-Mini => Thema gestartet von: Kartoffelbrei am 10 Oktober 2003, 14:50:04

Titel: Download String von der DL-Section
Beitrag von: Kartoffelbrei am 10 Oktober 2003, 14:50:04
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
Titel: Re: Download String von der DL-Section
Beitrag von: _Gerry_ am 10 Oktober 2003, 18:44:37
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
Titel: Re: Download String von der DL-Section
Beitrag von: Kartoffelbrei am 13 Oktober 2003, 11:20:58
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]
Titel: Re: Download String von der DL-Section
Beitrag von: Kartoffelbrei am 13 Oktober 2003, 12:37:47
noch was :

für was ist das d_op ????
Titel: Re: Download String von der DL-Section
Beitrag von: JensWagenknecht am 13 Oktober 2003, 14:58:43
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.