Hallo,
Bei diesem kurzen DELETE script funktioniert das überhaupt nicht. Der PHP Code wird ausgeführt, anschließend bleibt die Seite weiß.
Wie ist display_errors eingestellt? Eine weiße Seite deutet darauf hin dass das Script aufgrund eines Fehlers abgebrochen wurde.
$Entfernen = $db->query("DELETE FROM " .$TYPE. " WHERE ID = $ID1 ");
Wie Rolf schon schrieb: das ist ein gefährliches Sicherheitsscheunentor (eine Lücke ist das schon nicht mehr)! Das zu beheben wäre ganz einfach: statt $ID1 ein »?« (oder einen benannten Parameter bei PDO) in den Query schreiben, prepare() statt query() verwenden und $ID1 in einem Array an execute() übergeben, fertig.
$Entfernen->execute() or die($db->error);
Mal abgesehen davon dass ein execute() wenig sinnvoll ist wenn du query() verwendest (das braucht man nur bei prepare()): Was verwendest du denn um auf die Datenbank zuzugreifen? Wenn du mysqli verwendest, enthält $Entfernen an dem Punkt ein true. Boolsche Werte haben aber natürlich keine Methode execute() und damit schlägt die Zeile mit einem Fatal Error fehl – das Ergebnis (bei display_errors=0) ist eben eine leere Seite.
<a href="del.php?NEWS=2">click</a>
Aktionen die Daten verändern (anlegen, ändern oder löschen) sollten per POST-Request erfolgen, nicht per (GET-)Link.
Gruß,
Tobias