Det skyldes en "teknik" du bruger gennemgående i din kode.
Eksempel:
$slet = mysql_query("DELETE from nyheder WHERE id = $id");
if ($_GET['action'] == 'slet') { mysql_query("DELETE from nyheder WHERE id = $_GET[id]"); }
Betyder:
Slet fra nyheder hvor id er lig $id
Hvis action er lig 'slet': Slet fra nyheder hvor id er lig $_GET[id]
Den første virker med $id, sikkert fordi du har register globals på.
Den næste burde fejle, for det hedder $_GET['id'], og ikke $_GET[id].
På den måde kører du slet inden din if sætning, altså hver gang.
Måske ikke helt hvad du vil.
Evt kunne du skrive eksemplet om til:
if ($_GET['action'] == 'slet') { mysql_query("DELETE from nyheder WHERE id = $id"); }
Dette gælder naurligvis også de andre steder hvor du bruger samme "teknik"