Hallo Maettzen,
du hast die Seitenaufbereitung und den Lösch-Code vermischt. Das führt - selbst wenn der DELETE funktioniert - dazu, dass man nach dem ersten Löschen nicht sieht, dass etwas gelöscht wurde. Zumindest musst Du dafür sorgen, dass eine gelöschte Zeile nicht mehr ausgegeben wird. Dafür musst Du Deinen Code umstellen. Wenn $_POST[$p] existierst, musst Du löschen, SONST ausgeben.
Dass Leerzeichen nicht funktionieren, kann ggf. daran liegen, dass die Maskierung des Leerzeichens in den Post-Daten beim Schreiben ins $_POST Array nicht rückgängig gemacht wird. Der Browser schickt nicht "Fragebogen 1", sondern "Fragebogen+1=on&l%C3%B6schen=l%C3%B6schen".
Gib mal $p aus, zwischen for und if(isset), und schreibt auch mal einen var_dump vom $_POST.
Rolf
Dosen sind silbern