Nina Luckas: Upload von jpgs in MySQL-Datenbank

Hallo zusammen,

ich habe ein datenbankbasiertes Kursverzeichnis erstellt. Bis jetzt funktioniert alles außer der edit-Seite...

Mein Problem dabei ist, dass ich zwar Textvariablen problemlos hochladen kann, aber die Verknüpfung zwischen Upload des Bildes per ftp und z.B. "bild.jpg" nicht hinbekomme.

Unten ist der wichtige Teil des Quelltextes.

Danke!

Nina Luckas

<form method="post" action="postkurse_edit_action.php" name="kursverzeichnis">
<input type="hidden" name="id" value="<?php echo $id; ?>">

<table>
    <tr>
        <td>Biographie</td>
        <td><textarea name="InputBio" cols="60" rows="5" maxlength="500" value="<?php echo $biografie; ?>"></textarea>
       </td>
    </tr>
<form method="post" action="http://www.luckynina.de/Bilder/">
    <tr valign="middle">
       <td>Foto</td>
       <td><input type="file" name="localfile" value="<?php echo '<img src="http://www.luckynina.de/Bilder/'.$bild.'">'; ?>">
    <input type="submit" name="upload" value="Datei hochladen">
       </td>
    </tr>
</form>
    <tr>
      <td>  <input type="submit" name="submit" value="Abschicken"> </td>
    </tr>
</table>
</form>

  1. abend,

    einem <input type="file"> kann man kein value anfügen...

    mfg,
    (tanz das)
    Z.N.S.

    --
    <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
  2. Hallo Nina,

    <form method="post"
          action="http://www.luckynina.de/Bilder/"
          enctype="multipart/form-data">

    Den Encryption-Type musst Du unbedingt angeben, sonst überträgt der Browser nur den namen des Files, aber nicht das File.

    Grüße

    Tom

  3. Hallo Nina,

    aber die Verknüpfung zwischen Upload des Bildes per ftp und z.B. "bild.jpg" nicht hinbekomme.

    per ftp? Was willst du eigentlich machen?

    <td><textarea name="InputBio" cols="60" rows="5" maxlength="500" value="<?php echo $biografie; ?>"></textarea>

    textarea hat kein maxlength- und kein value-Attribut. Ob eine bestimmte Textlänge überschritten wurde, musst du serverseitig (evtl. zusätzlich per js) überprüfen (siehe </archiv/> (über die http://selfsuche.teamone.de/)), wie man eine textarea mit Text vorbelegt steht hier: http://selfhtml.teamone.de/html/formulare/eingabe.htm#bereiche_vorbelegung

    </tr>
    <form method="post" action="http://www.luckynina.de/Bilder/">

    *pfui* erstens hast du bereits ein <form> geöffent (Formulare können nicht verschachtelt werden), und zweitens haben <form>s direkt in <table>s nichts zu suchen.

    <td><input type="file" name="localfile" value="<?php echo '<img src="http://www.luckynina.de/Bilder/'.$bild.'">'; ?>">

    was ist das den für ein Murks? Was soll den ein Browser mit
     <input type="file" ... value="<img src="...">">
    machen? (zumal man bei inputs mit type="file" keinen Wert vorbelegen kann) Du solltest vielleicht erstmal etwas genauer erläutern, was du machen willst - mit dem Text und dem Fetzen Code dazu kann ich (und andere vermutlich auch) nicht wirklich viel anfangen.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hallo Tobias,

      was ist das den für ein Murks? Was soll den ein Browser mit

      warum so eklig?

      Wir sind doch hier zusammen, weil wir gegenseitig bei der Fehlersuche helfen wollen und nicht, um uns fertig zu machen...

      Liebe Grüße

      Tom

      1. Hallo Tom,

        was ist das den für ein Murks? Was soll den ein Browser mit
        warum so eklig?

        mhh... das klang vermutlich etwas heftiger als beabsichtigt, aber etwas nachdenken, was im Browser ankommt, sollte man imho schon :-)

        Wir sind doch hier zusammen, weil wir gegenseitig bei der Fehlersuche helfen wollen und nicht, um uns fertig zu machen...

        nein, natürlich nicht :-)

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Hallo,

          ich weiß ja selber, dass das Murks ist, nicht streiten :-(

          Das ganze ist mein zweiter Versuch in php/MySQL (die erste Datenbank war verdammt einfach), ich bin momentan einfach nur "blind" und ich sollte vielleicht mal eine Pause machen, um mich zu sammeln...

          Ziel:

          Leute, die kein html können, sollen in der Lage sein, Daten zu einzelnen Kursen einzugeben. Dazu gehört auch, dass pro Dozent ein Bild "name.jpg" hochgeladen werden muss.

          Mir geht das mit den forms einfach nicht auf. Ist eigentlich schon klar, dass ich keine zwei verschachteln kann, aber die actions müssen doch unterschiedlich sein?

          Grüße

          Nina

          1. Hallo Nina,

            Leute, die kein html können, sollen in der Lage sein, Daten zu einzelnen Kursen einzugeben. Dazu gehört auch, dass pro Dozent ein Bild "name.jpg" hochgeladen werden muss.

            dann schau dir mal http://www.dclp-faq.de/q/q-formular-upload-php4.html und http://de3.php.net/manual/de/features.file-upload.php an.

            Mir geht das mit den forms einfach nicht auf. Ist eigentlich schon klar, dass ich keine zwei verschachteln kann, aber die actions müssen doch unterschiedlich sein?

            warum? Mit einem Dateiuploadformular kannst du beliebig viele Daten mitschicken, das kann dann alles von einem Script verarbeitet werden (die Daten aus den Textfeldern o.ä. stehen dann in $_POST drin). Wenn das ganze aber von zwei verschiedenen Dateien verarbeitet werden soll, musst du zwei getrennte Formulare machen.

            Grüße aus Nürnberg
            Tobias

            ps: was ist denn mit der Signatur los? in der Vorschau wir die nicht umgesetzt, und im Posting, das im Forum steht, ist zwischen dem Namen und den Strichen kein Zeilenumbruch (beim Eingeben aber schon)

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            1. Hallo,

              warum? Mit einem Dateiuploadformular kannst du beliebig viele Daten mitschicken,

              Das ist nicht ganz richtig. Man genau soviele mitschicken, wie es <input type="file" ...> Tags gibt.

              Nina, achte nochmals auf den Encryption-Type. Das ist eine Standard-Fehler!

              Grüße

              Tom

              1. Hallo Tom,

                warum? Mit einem Dateiuploadformular kannst du beliebig viele Daten mitschicken,
                Das ist nicht ganz richtig. Man genau soviele mitschicken, wie es <input type="file" ...> Tags gibt.

                ich meinte Daten wie in <input type="(text|checkbox|radio)"> - das man nicht mehr Dateien mitschicken kann, als Felder da sind, ist mir auch klar :-)
                Ich hatte eben die Vermutung, dass Nina dachte, man kann bei einem Formular das ein <input type="file"> enthält keine anderen Felder-typen mehr verwenden.

                Grüße aus Nürnberg
                Tobias

                --
                Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                1. Hallo Tobias,

                  vielen Dank fuer die ganzen Hinweise! Ich kaempf mich da jetzt mal durch :-)

                  Viele Gruesse

                  Nina

          2. Hallo Nina,

            bevor Du da mit SQL anfängst, hast Du das mal als Flat-Fiel-Lösung programmiert? Da lernt man nämlich durchaus ne Menge kleine Schweinereien :-))

            Wenn Du Deine eMail hier reinsetzt, kann ich Dir dafür eine kleine Musterlösung schicken.

            Grüße

            Tom

            1. Hallo Tom,

              vielen Dank fuer Dein Angebot :-)

              Eine email-Addi steht ja jetzt oben.

              Viele Grüße

              Nina

  4. hi,

    deine thread-überschrift klingt so, als ob du die bilder auch in die DB packen wolltest (also die wirklichen binären bilddaten).

    da würde ich dir raten, erst einmal http://dclp-faq.de/q/q-db-blob.html zu lesen.

    gruss,
    wahsaga

    1. Hallo Wahsaga,

      sorry, da habe ich mich bloed ausgedrueckt. In html soll der image-Tag incl. Pfad angegeben sein, in die Datenbank soll nur die der Name des Bildes name.jpg.

      Gruesse

      Nina

      1. hi,

        sorry, da habe ich mich bloed ausgedrueckt. In html soll der image-Tag incl. Pfad angegeben sein, in die Datenbank soll nur die der Name des Bildes name.jpg.

        kein problem, dann sind die unklarheiten ja beseitigt.
        wollte nur einen warnenden zeigefinger heben, falls der plan sein sollte, eben doch die DB mit grossen binärdaten wie bildern vollzustopfen ...

        gruss,
        wahsaga