tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
476
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Maximus
    Maximus Maximus ist offline Mitglied Gold
    Registriert seit
    May 2002
    Ort
    Hessen
    Beiträge
    201
    Hi,

    ich habe ein sehr merkwürdiges Problem:

    Ich verweise mit folgendem Code auf einen DL-Link:
    PHP-Code:
    Header("Location: ".$url); 
    Die Variable $url kommt aus einer Datenbank und hat als Inhalt den Download-Link.
    Das klappt auch bei bei allem gut, nur bei eDonkey-Links nicht.
    Beispiel:
    http://www.tutorials.de in Datenbank -> geht!
    https://www.irgendetwas.de in Datenbank -> geht!
    ed2k://|file|blablablairgendwas/ in Datenbank -> Geht nicht******!

    Das interessante ist aber, das wenn ich den letzten Link direkt in den Browser eingebe, es keine Probleme gibt!
    Zur Info: Das alles läuft in einem Postnuke-System!
    Woran kann das liegen und wie kann ich das ändern?
    Es ist wichtig, das ALLE 3 Möglichkeiten funktionieren!
    Geändert von Maximus (09.10.02 um 19:30 Uhr)
     
    Was Du in anderen entzünden willst, muß in Dir selbst brennen!

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    Ich denke mal, das es daran liegt, das ed2k:// als anderes protokoll aufgefasst wird, was nicht unterstützt wird. Gib mal den link in einem browser ein, der kein edonkey installiert hat ... dann gibt es auch eine fehlermeldung.

    Es gibt aber ein workaround:

    z. B. ein Popupfenster mit <meta refresh etc. >

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="refresh" content="23;URL=ed2k://bla">
    </head>
     
    <body bgcolor="#FFFFFF" text="#000000">
    </body>
    </html>


    oder javascript

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript">
    <!--
    function MM_goToURL() { //v3.0
      var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
    }
    //-->
    </script>
    </head>
     
    <body bgcolor="#FFFFFF" text="#000000" onLoad="MM_goToURL('parent','ed2k://bla');return document.MM_returnValue">
    </body>
    </html>

    Dann muß nämlich php den header mit unbekanntem protokoll nicht verschicken, sondern das passiert clientseitig und sollte gut funktionieren.

    Gruß,
    Neuro
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

  3. #3
    Avatar von Maximus
    Maximus Maximus ist offline Mitglied Gold
    Registriert seit
    May 2002
    Ort
    Hessen
    Beiträge
    201
    Hat leider auch nicht so ganz funktionert. Die Site wird weiss und der Download startet nicht.
    Ich habe es wie unten gezeigt gelöst.
    Dabei bekomme ich ein neues Browserfenster welches den Download startet. Leider geht das aber nicht automatisch weg wenn der Download gestartet wurde. Und ausserdem wird das Hauptfenster in dem ich auf den Link drücke weiss! Gibt es ne Lösung für die beiden Probleme?

    PHP-Code:
    function visit($lid)
    {
        global 
    $ModName;

        if (
    downloads_authitem((downloads_ItemCIDFromLID($lid)), (downloads_ItemSIDFromLID($lid)), $lidACCESS_READ) ) {
            list(
    $dbconn) = pnDBGetConn();
            
    $pntable pnDBGetTables();

            
    $column = &$pntable['downloads_downloads_column'];
            
    $dbconn->Execute("UPDATE $pntable[downloads_downloads]
                        SET 
    $column[hits]=$column[hits]+1
                        WHERE 
    $column[lid]=".pnVarPrepForStore($lid)."");
            
    $result $dbconn->Execute("SELECT $column[url]
                                  FROM 
    $pntable[downloads_downloads]
                                  WHERE 
    $column[lid]=".pnVarPrepForStore($lid)."");
            list(
    $url) = $result->fields;
           
    // Header("Location: ".$url);  Das it die Original-Codezeile
            
    print "<html><head>";
            print 
    "</head><body onLoad=window.open(\"$url\")></body></html>";

        } else {
            
    Header("Location: /index.php");
        }

     
    Was Du in anderen entzünden willst, muß in Dir selbst brennen!

  4. #4
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    @Maximus:

    Ich weiß nicht so recht was der php codeschnippsel soll
    das ist ein teil eines scriptes das über eine datenbank läuft
    Mit übrigens dem gleichen Effekt wie ich zuvor geschrieben habe, nur halt mit einem minimalen Befehl, der möglicherweise nicht in allen Browsern funktioniert (Zitat:
    PHP-Code:
    print "</head><body onLoad=window.open(\"$url\")></body></html>"
    ).

    Eine lösung für Dein Problem wäre wohl ein Popupfenster, welches den Link als KLICK-Version anzeigt. Dann läuft 1. Der Donkeylink gerantiert und 2. bleibt die Hauptseite wie sie soll...
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

  5. #5
    Avatar von Maximus
    Maximus Maximus ist offline Mitglied Gold
    Registriert seit
    May 2002
    Ort
    Hessen
    Beiträge
    201
    Sorry,

    hatte vergessen zu schreiben, dass es sich um ein Post-Nuke System handelt.
    Die Seite ist unter www.overnet24.de zu finden.

    Richtig, am liebsten wäre mir ein Pop-Up Fenster!
    Ich weiss nur leider nicht wie der Code dafür lauten muss.

    Wäre nett wenn Du mir diesbezüglich helfen könntest.
     
    Was Du in anderen entzünden willst, muß in Dir selbst brennen!

  6. #6
    Registriert seit
    Jul 2001
    Ort
    Bayern
    Beiträge
    969
    Original geschrieben von Maximus
    ...
    Die Seite ist unter www.overnet24.de zu finden.
    ...
    Also ich bin ja mit Tauschbörsen und so nicht am Laufenden, aber ist es nicht illegal Alben zum Downlaod anzubieten ? Ich denke da hilft dir dein ganzer Disclaimer nichts.
     

  7. #7
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    Beispielquellcode für die Linkseite:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Downloadseite</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_openBrWindow(theURL,winName,features) { //v2.0
      window.open(theURL,winName,features);
    }
    //-->
    </script>
    </head>
    <body>
    <a href="javascript:;" onClick="MM_openBrWindow('popup.php?linkname=ed2k://blabla.blabla.bla','eselpopup','width=200,height=200')">Dieser 
    Link &ouml;ffnet Popup zum Download</a> 
    </body>
    </html>

    Popupquellcode der Datei z. B. "popup.php":

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    <html>
    <head>
    <title>.:: Dein Titel ::.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <a href="<?php $linkname ?>">Zum download hier klicken</a>
    </html>
    </script>

    Wenn ich mich nicht vertippt hab, müßte es so gehen

    P.S.:
    Der Disclaimer ist ja ganz toll aus Disclaimer.de kopiert ... aber der erste Satz des letzten Paragrafen sollte nicht darin stehen haben, das der Disclaimer zur Internetseite gehört von der verwiesen wurde, schließlich wird der Text normalerweise nicht kopiert, sondern mit einem link zu disclaimer.de versehen.

    Schwammiges Gelände mit den Esellinks ...
    ... aber jedem das Seine
    Geändert von Neurodeamon (13.10.02 um 01:58 Uhr)
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

Ähnliche Themen

  1. Hilfe bei Header()-Funktion
    Von danielwe1 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 17.06.08, 19:22
  2. Funktion HEADER()
    Von Kopfballstar im Forum PHP
    Antworten: 3
    Letzter Beitrag: 07.10.05, 13:36
  3. Ähnliche Funktion wie header()
    Von BSA im Forum PHP
    Antworten: 5
    Letzter Beitrag: 23.09.05, 01:23
  4. Probleme mit header Funktion
    Von mitch_byu_kennen im Forum PHP
    Antworten: 4
    Letzter Beitrag: 07.09.05, 15:51
  5. Merkwürdige header-Funktion
    Von Maximus im Forum PHP
    Antworten: 11
    Letzter Beitrag: 19.02.03, 12:49