Uploadscript: Problem mit Formular - enctype

pnx

Mitglied
Tag beisammen,

auch wenns eigentlich eher zum Bereich HTML gehört poste ich mal hier, da es hier bestimmt jemand gibt, der dieses Problem schon selbst hatte, oder eben weiß woran es hängt.

Für ein privates Portal habe ich eine Bildergalerie samt Uploadscript gebastelt, wobei der Upload auch wunderbar funktioniert (inklusive Thumbgeneration etc.). Nun habe ich aber den Upload durch ein Kommentarfeld (Textarea) ergänzt, welches aber nicht vom Formular berücksichtig wird, sprich, das was im Textarea steht kommt in der verarbeitenden php-Datei nicht an, der Upload aber schon.

Meine Vermutung ist ein falscher enctype, der momentan auf multipart/form-data gesetzt ist.

Jemand ne Idee, auf was ich ihn setzen muss, damit sowohl der Upload, als auch das Textarea funktioniert?

MfG,
pnx
 
Das mit dem multipart/form-data hatt schon so seine Richtigkeit. Magst uns etwas Skriptcode zeigen, ich denke mal das der Fehler an einer anderen Stelle liegt.
 
Hm, hier dann mal etwas Code ...

Der Anfang des Uploads:
PHP:
// Upload-Script für die Bildergalerie #########################################
// Hochladen -------------------------------------------------------------------
if(isset($_POST["Upload"]) && $_POST["Upload"] == "Bild hochladen"){
    // Bilddaten ...............................................................
    $file_name  = $_FILES["Bild"]["name"];  // Bildname
    $file_type  = $_FILES["Bild"]["type"];  // Bildtyp
    $file_size  = $_FILES["Bild"]["size"];  // Bildgröße in KB (not in use)
    // Unterstüzte Typen definieren ............................................
    $sup_types = array(1 => "image/jpeg",
                       2 => "image/pjpeg",
                       3 => "image/x-png");
    // Bilddaten prüfen (Datei,Format) .........................................
    if(!empty($file_name) && in_array($file_type, $sup_types)){

Dann kommt der eigentlich Upload, sowie das erstellen des Thumbs und das Verschieben der Bilddaten aus dem temporären Ordner.

Hier dann mal der Insert in die DB:

PHP:
$dbcon->dosql("INSERT INTO ".$tab."_pics (picname,piccomment,picposter)
                       VALUES ('".$pic_big_name."','".$_POST["f_comment"]."',
                       '".$user["accname"]."')");

Alle Daten bis auf $_POST["f_comment"] werden eingefügt.

Das Textarea im Formular:

HTML:
<TEXTAREA NAME="f_comment" ROWS="2" COLS="30"></TEXTAREA>

Es kommt keine Fehlermeldung allà: Undefined index "f_comment". Aber die Variable ist immer leer. Was mich auch sehr stutzig macht ist, dass die Variable nicht auf empty() reagiert ... also müsste eigentlich doch was drin sein ...

Vielleicht seh ich den Wald vor lauter Bäumen nicht, aber z.Z. hab ich keine Ahnung woran es liegen könnte.
 
Versuche mal die "$_POST" daten vorher in eine Variable zu speichern und mit der Variable dann dies einzu fügen.

PHP:
$fcomment = $_POST["f_comment"];

$dbcon->dosql("INSERT INTO ".$tab."_pics (picname,piccomment,picposter)
                       VALUES ('".$pic_big_name."','".$fcomment."',
                       '".$user["accname"]."')");
}
Probier es einmal so, ansonsten lass dir mal ausgeben was in der "$_POST["f_comment"]" eingegeben ist.

nach submit nicht weiterleiten sondern
PHP:
echo $_POST["f_comment"];

// oder
echo "$fcomment";
 
Hab ich schon gemacht ... aber so langsam beschleicht mich das Gefühl, dass der Fehler in der DB-Tabelle liegt ... weil selbst bei:
PHP:
$dbcon->dosql("INSERT INTO ".$tab."_pics (picname,piccomment,picposter)
                       VALUES ('".$pic_big_name."','xxxxxxx',
                       '".$user["accname"]."')");

bleibt das Feld in der DB leer.

Wer lesen kann ist klar im Vorteil ...

Das FTP-Programm hat die überarbeitete Version der upload-Datei nicht hochgeladen => Kanns auch nicht funktionieren (in der alten Datei gabs das Comment net im Insert).

Ich hab nix gesagt :)
 
Zurück