Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Post dynamisch gestalten





Frage

Nabend, hänge irgendwie schon den ganzen Abend daran eine Post-Abfrage dynamisch zu gestalten. Also innerhalb einer while-Schleife die Dateien in einem Verzeichnis abfragt und tabellerarisch auflistet gibt es eine Checkbox die es ermöglichen soll mehrere Dateien auf einmal zu löschen. Also die Checkbox sieht so aus: [code]<input name="del' . $del_id++ .'" type="checkbox" id="delete" value="' . $Datei . '">[/code] Die wird dann in der gleichen while-Schleife abgefragt, das Form-Tag ruft die Datei nochmal auf. [code]if($_GET['del' . $del_id .''] == $Datei) unlink($Pfad . "/" . $Datei;[/code] Leider funktioniert das nicht so wie geplant. ;) Kann das überhaupt gehen mit der if-Abfrage oben? Würde ja den Code posten ... aber: [quote]Bitte maximal 10000 Zeichen eingeben.[/quote]

Antwort 1 von S1lv3R

Also nochmal den kompletten Code jetzt:
http://www.russland-online.org/sn.php
btw seh grad das oben GET steht, war zu Testzwecken ob er es auch richtig schreibt. ;)

Antwort 2 von Supermax

Am besten definiertst du die Checkboxes als Array:

'<input type="checkbox" name="del[]" value="'.$Datei.'" ...>


In $_POST bzw. $_GET hast du dann ein Array $_POST['del'] (die [] beim Feldnamen schneidet PHP beim Parsen der Formulardaten weg).

Mit einer einfachen Schleife kann dann über das Array iteriert werden:
foreach($_POST['del'] as $Dateiname) {
   unlink($Pfad.'/'.basename($Dateiname));
}


Das "basename()" ist nur eine Sicherheitsvorkehrung, damit niemand z.B. durch einen manipulierten POST-Request mit einem Dateinamen, der "../" enthält, aus dem Verzeichnis $Pfad "ausbrechen" kann und somit beliebige Dateien aus deinem Verzeichnis löscht.

Antwort 3 von S1lv3R

Ui, funktioniert. :)
Danke auch für den Tipp mit basename, werde in Zukunft drauf achten.
Grüße,
S1lv3R

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: