• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

header() will MySQL nicht lesen oder so was..

  • Ersteller Ersteller matibaski
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Moin!
Ich habe in eine MySQL Tabelle eine Datei gespeichert.
Nun, wenn download=12 zum Beispiel ist, soll es den Link downloaden, mit der ID 12.

Es sieht momentan so aus:
PHP:
  if(isset($_GET['download']))
  {
   $dsql = "SELECT
                Url
            FROM
                downloads
            WHERE
                ID = '".$_REQUEST['download']."';
           ";
   
   $dresult = mysql_query($dsql) OR die(mysql_error());
   $dload = mysql_fetch_assoc($result);
   // Ausgabe des Downloads
   header('Location: http://matibaski.paradoxe.de/MyB/_private/Downloads/' . $dload['Url']); 
  }
Doch mein Problem ist, dass es nur auf den Link weitergeleitet wird, bis zu Downloads/ und den Namen, z.B. datei1.zip, nicht miteinschliesst.

Was ist an meinem header() falsch, dass es den MySQL Namen mti Endung nicht einfügt?

Habe noch eine frage, doch die stelle ich später.


MfG, matibaski
 
PHP:
  if(isset($_GET['download']))
  {
   $dsql = "SELECT
                Url
            FROM
                downloads
            WHERE
                ID = '".$_GET['download']."';
           ";
   
   $dresult = mysql_query($dsql) OR die(mysql_error());
   while($dload = mysql_fetch_assoc($result))
   {
   // Ausgabe des Downloads
   header('Location: http://matibaski.paradoxe.de/MyB/_private/Downloads/' . $dload['Url']); 
   }
  }
Was damit passiert?
Garnix.
Es ladet die Seite neu und es erscheint nix. Ausser dass oben &download=idnr erscheint.

Ist mein header() falsch?
Ich habe mal sowas gesehen, womit der header(), egal welche Dateiart, downloadet.
Weiss jemand wie das geht?


MfG, matibaski

edit:
Als es vorher, ohne der while Schleife, war, dann kam ich bis zu _private/Downloads/
Nur der Name der Datei von der DB fehlt.


MfG, matibaski

edit 2:
Ich konnte wohl nicht lesen!
Ich habe bei mysql_fetch_assoc einen Schreibfehler ;)

MfG, matibaski
 
Zuletzt bearbeitet von einem Moderator:
PHP:
  if(isset($_GET['download']))
  {
   $dsql = "SELECT
                Url
            FROM
                downloads
            WHERE
                ID = '".$_GET['download']."';
           ";
   
   $dresult = mysql_query($dsql) OR die(mysql_error());
   while($dload = mysql_fetch_assoc($result))
   {
   // Ausgabe des Downloads
   header('Location: http://matibaski.paradoxe.de/MyB/_private/Downloads/' . $dload['Url']); 
   }
  }
Was damit passiert?
Garnix.
Es ladet die Seite neu und es erscheint nix. Ausser dass oben &download=idnr erscheint.

Ist mein header() falsch?
Ich habe mal sowas gesehen, womit der header(), egal welche Dateiart, downloadet.
Weiss jemand wie das geht?


MfG, matibaski

edit:
Als es vorher, ohne der while Schleife, war, dann kam ich bis zu _private/Downloads/
Nur der Name der Datei von der DB fehlt.


MfG, matibaski

edit 2:
Ich konnte wohl nicht lesen!
Ich habe bei mysql_fetch_assoc einen Schreibfehler ;)

MfG, matibaski

Bitte überlege dir doch mal, was du debuggen möchtest, bevor du dem Script sagst "mach es.".

Code:
$dsql = "SELECT
                Url
            FROM
                downloads
            WHERE
                ID = '".$_GET['download']."';
           ";
   
   $dresult = mysql_query($dsql) OR die(mysql_error());
// bis hierhin ok...SQL-Query bauen, und absenden
$fetch = mysql_fetch_assoc($dresult);
// dies ist möglich, da du hoffentlich ID als Primary Key definiert hast (eine zahl gibt es nicht doppelt)

// jetzt kommt eigentlich das interessante...
echo 'http://matibaski.paradoxe.de/MyB/_private/Downloads/' . $dload['Url'];

// dieser ECHO ist dein debugging, heißt also, dass du dir die Zeile ausgeben lässt..wenn du weißt, dass die Zeile richtig ist, machst du erst den header-Befehl!

Dein Fehler jetzt ist es, dass du auf falsche Variablen zurückgreifst.
schau dir mal bitte an, was $result ist, und was $dresult...
 
Danke!
Werde von nun an nach deinem Schema arbeiten, mit Ausgaben ;)
Wär mir eigentlich nicht aufgefallen sowas zu machen ;)


MfG, matibaski
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben