Ankündigung

Einklappen
Keine Ankündigung bisher.

Verlinkung auf Datensatz

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verlinkung auf Datensatz

    Hallo,

    ich habe durch eine upload-function einige Daten in einer MySql-Datenbank abgelegt.
    Diese möchte ich jetzt zum Download bereitstellen.

    PHP-Code:
    echo '<table width="600px" border="0" cellspacing="0" cellpadding="0">
            <tr><th width="450px">
            <a href=\''
    .$PHP_SELF.'?fileid='.$row->fileid.'\'>'.$row->filename.'</a></th><th>'.$row->filedate.'</th></tr>
            </table>'

    Eine Liste mit den Daten erhalte ich, aber der Link passt nicht.
    Leider weiß ich nicht wie ich richtig auf die Datenbank verlinke...
    Deshalb meine Frage:

    Wie muss ich den Link ändern damit ich die richtige Datei runterlade?
    Im Moment versucht es mir immer die d.php (also die Datei für den Download) runter zu laden.

    Danke.
    eva2611


  • #2
    hallo "mirabell16",

    um deine Frage zu beantworten wäre nicht der Link wichtig sondern die Seite die Du über den Link aufrufst. Denn dort liest Du scheinbar die herunterzuladenden Daten aus, aber gibst sie nicht korrekt an den Browser zurück. Also bitte diesen Quellcode zeigen.

    Kommentar


    • #3
      Danke.

      PHP-Code:
      <?php
      @mysql_connect(""", "");
      @mysql_select_db("
      r");

      if (isset(
      $_GET['fileid'])) {
      header("
      Content-type" . $row->filetype);
      header("
      Content-dispositionattachmentfilename=".$row->filename.";");
      header("
      Content-length" . $row->filesize);
      readfile(
      $fileid); 

      $sql = "SELECT FROM files WHERE fileid '".$_GET['fileid']."' LIMIT 1";
      $result = @mysql_query($sql);
      $row = mysql_fetch_object($result);

      echo base64_decode(
      $row->filecontent);

      exit;
      } else {

      $sql = "SELECT fileidfilename,filedate FROM files";
      $result = @mysql_query($sql);

      while (
      $row = mysql_fetch_object($result)) {
      echo '<table width="
      600px" border="0" cellspacing="0" cellpadding="0">
              <tr><th width="
      450px">
              <a href=\''.
      $PHP_SELF.'?id='.$row->fileid.'\'>'.$row->filename.'</a></th><th>'.$row->filedate.'</th></tr>
              </table>';
      }

      }

      ?>

      Kommentar


      • #4
        Zitat von eva2611 Beitrag anzeigen
        PHP-Code:
        <?php
        @mysql_connect("zz""xx""yy");
        @
        mysql_select_db("xx");
        Na Hauptsache die Passwörter bleiben geheim, oder ?

        Grüße
        Thomas

        Kommentar


        • #5
          Du hast an dieser Stelle

          Code:
          header("Content-type: " . $row->filetype);
          $row noch nicht definiert. Schieb das hinter den SQL-Abruf.

          Kommentar


          • #6
            Lol...na ja, SQL Injection ist ja auch ohne Probleme möglich. Da kann man gleich die Zugangsdaten drin lassen

            Wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Oh man, heute ist einfach nicht mein Tag.

              @threadi
              Ich hab das ganze hinter den sql aufruf geschoben.
              Aber leider ändert sich dadurch nichts.

              Kommentar


              • #8
                Was meinst Du mit "das Ganze"?

                Kommentar

                Lädt...
                X