Andreas Korthaus: Datamailer will nicht

Beitrag lesen

Hallo!

<? echo "<form action="index.php?funktion=mailer_1&tabsi=login&modul=mailer&logid=$logid&passwort=$passwort&update=$logid" method="post" enctype="multipart/form-data"> "; ?>

<input type="file" SIZE="20" name="datei">

<input border="0" height="17" src="images/bestaetigen.gif" type="image" vspace="1" width="87" name="image" value="Abschicken">

so hab ichs mir zusammen gestrickt is doch ok oder?

Naja, dieses Mixen von POST und GET, nicht gerade die "feine englische Art". Warum übergibst Du die Variablen nicht als Hidden-Fields?

Das Problem ist nicht das Forumlar, sondern das Script welches die Daten entgegen nimmt.

Darin greifst Du wie in dem von mir verlinkten Tutorial mt $_FILES auf die Datei zu, das geht so 100%ig und ist viel sicherer.  Außerdem kopiert man dann mit der speziellen Funktion move_uploaded_file(). Guck Dir die Anleitung an, dann hast Du keine Probleme!

Irgendwie nimmt er mir nun die Datei nicht mit, ich habe versucht die $datei via echo auszugeben is aber nix drin :(

Das geht sowieso nicht. In dieser Variabel szteh tnur der temporäre Name. Aber ich wiederhole mich, das ist schlecht, verwende die Methode mit $_FILES.

Kann es sein das ich in classen die Variable $datei anders holen muss da diese Temporär ist?

Ja, Du mußt sie der Klasse übergeben, aber wenn Du $_FILES verwendest brauchst Du das nicht, denn die sind supergobal.

Ich habs bereits mit $this-datei versuch aber leider kein erfolg :)

Wie auch? mit $this-datei ist ein Variablenname den es vermutlich nicht gibt, vermutlich meintest Du $this->datei, aber das funktionbiert nur wenn $datei eine Variabe im Namensraum der KLasse ist.

Wie gesagt, lies mal http://www.php-faq.de/q/q-formular-upload-php4.html und probiere es so!

Grüße
Andreas