wieso unterscheidet er nicht

J

joky_joky

Hallo ich habe eine Formula in dem ich datein uploaden kann und auch wieder löschen
möchte.
mein Formular sieht so aus.

PHP:
<form enctype="multipart/form-data" action="" method="post">

if ($upload){script für den upload der Datei}
if ($loeschen){script zum löschen der Datei}

<input name="file" type="file" size="15">     
<input name="upload" type="image" id="upload"  src="../../jpegs/button/speichern.jpg" width="120" height="36">        
<input name="upload" type="hidden" value="upload">  	  
<input name="loeschen" type="image" id="loeschen"  src="../../jpegs/button/loeschen.jpg" width="120" height="36">       
<input name="loeschen" type="hidden" value="loeschen">

</form>

So nun meine Frage also wenn ich schreibe
PHP:
if ($upload){script für den upload der Datei}
dann lädt er mir das hoch.

wenn ich schreibe
PHP:
if ($loeschen){script zum löschen der Datei}
dann löscht er mir die Datei

wenn ich aber schreibe
PHP:
if ($upload){script für den upload der Datei}
if ($loeschen){script zum löschen der Datei}
Dann uploadet er die Datein und gleich dannach löscht er sie wieder warum ?
Müste er nicht anhand der if Abfragen immer das machen was was ich will und nicht
einfach beides ausführen.
Evtl sitz ich mal wieder auf der Leitung

Weis jemand wieso er das so macht.

MfG Joky_Joky
 
Mit den beiden if-Abfragen überprüfst du lediglich, ob die Variablen gesetzt wurden. Und das ist stets bei beiden der Fall (vorausgesetzt, register_globals ist aktiviert). Du musst dein Script nochmal gründlich überdenken; schliesslich soll immer nur eine der beiden Aktionen ausgeführt werden (wenn ich das richtig verstanden habe).
 
Abgesehen von den Punkten meines Vorgängers hast du den beiden Felden die gleichen Namen gegeben. Das ist - soweit ich weiß - nicht sonderlich gut
 
Nimm einfach die hidden-FElder heraus, dann wird beim Klick auf einen der Buttons auch immer nun eines von beiden übermittelt.
Beachte dabei aber die Eigenheit des übermittelten Variablennamens bei <input type="image">.
 
Zurück