[PHP/MySQL] If-schleife UND else Teil werden ausgeführt
-
Hallo!
Hier erstmal mein Code:
/**///Delete File///**/ if ($_GET['type']=="upload") { $query = mysql_query("SELECT id FROM ".DB_TEMP.""); while($show = mysql_fetch_array($query)) { var_dump($show); if ($_GET['page'] == "delete" && $show['id'] == $_GET['code']) { var_dump($_GET['page']);var_dump($show['id']);var_dump($_GET['code']); unlink("".DIRECTORY."/".$_GET['file'].""); delete_tempsecurity(); } else { echo ''.ERROR104.''; } } } /**///Delete File///**/
Also es wird sowohl die If-Schleife:
if ($_GET['page'] == "delete" && $show['id'] == $_GET['code'])also auch der Else-Teil:
} else {
echo ''.ERROR104.'';
}ausgeführt. Ich kann wirklich nicht sagen, wieso das so ist. Eigentlich sollte der Else-Teil nicht ausgeführt werden, da der "type" "upload" ist und die "page" "delete" und die "id" mit dem "code" übereinstimmt. Wenn dies mal nicht der Fall ist, wird ERROR104 zweimal ausgegeben. Vielleicht kann mir da ja jemand helfen?
Folgenedes geben die var_dump Funktionen aus:
array(2) { [0]=> string(14) "25092004123848" ["id"]=> string(14) "25092004123848" } string(6) "delete" string(14) "25092004123848" string(14) "25092004123848"
Bitte helft mir. Danke!
Wubbel
-
Ich hätte da jetzt eher vermutet, dass bei deiner while-Schleife eben einmal der if und einmal der else-Zweig aufgerufen wird
BTW: if ist keine schleife
-
Ok. Dass If keine Schleife ist merk ich mir.
Aber kannst du mir denn bei der Lösung des Problems helfen?
Wubbel
-
Wie gesagt: es kann eigentlich nicht sein, dass der if und der else Teil ausgeführt wird. Meine Vermutung ist eben, dass das durch deine while-Schleife kommt
-
Vorschläge zum korrigieren?
-
Da gibt nicht groß Vorschläge zu machen, denn es kann nicht sein, dass in einem Schleifen-Durchlauf (deiner while-Schleife) sowohl if, als auch else aufgerufen wird. Prüfe lieber nochmal, den Programmsblauf - also was genau bei welchem Schleifendurchlauf geschieht