session in einem uploadform

Zork

Grünschnabel
Hi,

Ich hab mir in den letzten par tagen mit hilfe von meinem "schlauen" php-buch ein login-system und innerhalb des login-bereichs ein uploadform zusammengewürfelt.
Beim upload-form hab ich aber jetzt folgendes problem:

Normalerweise wenn mann eine session-id über ein normales form in ein anderes script übertragen will macht man das ja per hiddenfield...
Das hat bei einem anderen form wo nur text im spiel ist ganz toll geklappt, aber bei meinem "multipart/form-data"-upload-form da klappt das überhaupt nicht mehr.

das uploadform :
PHP:
<?

$_SESSION["user_id"] = $my_id;

echo "<form enctype=\"multipart/form-data\" action=\"PFAD/uploadscript.php\" method=\"post\" target =\"_self\">
          <input type=\"file\" name=\"datei\"><br> 
<input type=\"submit\" value=\"upload\">
          <input type=\"hidden\" name=\"id\" value=\"$my_id\">
        </form>";  ?>

uploadscript.php :
PHP:
$_POST["id"] = $my_id;
rename($_FILES['datei']['tmp_name'], "/PFAD/$my_id.jpg");

Ich denke ihr habt jetzt gecheckt. Ich hab vor die session-id weiterzuverwenden um im rename der datei den namen der id , z.b. 1.jpg ($my_id.jpg)zu geben, wenn ich zum beispiel 1.jpg hinschreibe dann klappts, also liegts an der variable iergendwie oder ?

Also ich hab dieses forum,google,altavista,lycos jetzt seit zwei tagen nach allmöglichen suchbegriffen durchsucht aber ich bin jetzt nachdem ich mein "schlaues buch" auch noch durchsucht und nichts gefunden habe mit meinem latein entgültig am ende.

kann mann kein hiddenfield mit einem "multipart/form-data" mitschicken ?
Wenn ihr einen beitrag findet der sich mit multipart/form-data UND session-id findet dann nehm ich auch gern nen link an wenn er mir weiterhilft...

P.S: wenn mein deutsch ein bisschen mies ist bitte entschuldigt bin aus lux...

Greetz
 
PHP:
 $_POST["id"] = $my_id;
rename($_FILES['datei']['tmp_name'], "/PFAD/$my_id.jpg");
muss lauten
PHP:
 $my_id = $_POST["id"];
rename($_FILES['datei']['tmp_name'], "/PFAD/".$my_id.".jpg");
 
Wo belegst du denn die Variable $my_id mit einem Wert? Dies wäre schon im Formular zu prüfen, ob dort alles stimmt..
 
Ich schätze das
PHP:
$_SESSION["user_id"] = $my_id;
sollte auch
PHP:
$my_id = $_SESSION["user_id";
heissen, dann ergibt es etwas mehr Sinn. ;)
 
hallo,
erstmal danke für die antworten.

also sagg, wenn ich den rename so mache wie du es mir gesagt hast erhalte ich eine parse-error fehlermeldung...
aber ich denke auch dass es am rename liegt, kann man das nicht noch irgendwie anders ins rename schreiben ?.....

bis dann

_Zork
 
Nun, vielleicht solltest du dein schlaues Buch noch einmal konsultieren und dich über den semantischen Aufbau von PHP informieren, dann fallen dir einfache Zeichenfehler vielleicht selbst auf..
PHP:
$my_id = $_SESSION["user_id"];
 
Alles klar jetzt klappts, das rename war am anfang ok, es lag wohl an der variable...irgendwo, ich hab jetzt eigentlich nur noch aus spass dran rumgespielt danach wollte ich die dateien löschen und vergessen, aber jetzt klappts ich hab eigentlich nur die variablen-definition:
PHP:
$_SESSION["user_id"] = $my_id
rumgedreht :
PHP:
$my_id = $_SESSION["user_id"]
und es klappts. ich kann aber einfach nicht glauben dass es daran lag ?...


naja hat sich dann erledigt...
bis zum nächsten jahr wenn ich wieder ne frage hier hab.

(!) : bis jetzt hat es fast immer seit ich mich hier bei tutorials angemeldet habe mit der suche gelangt.

Danke

_Zork
 
Zurück