Здравей,
кода ти няма да го коментирам. Така не се прави, но това е друга тема.
Сега на въпроса:
1. Имаш грешка в заявката за изтриване:
$delete=mysql_query("DELETE FROM users WHERE ('".$_POST['id']."')") or die("err");
Би трябвало да е от вида:
$delete=mysql_query("DELETE FROM users WHERE (id = '".$_POST['id']."')") or die("err");
Освен това, така написано, тази заявка ще се изпълнява и при зареждане на страницата, което е безмислено. Трябва да се изпълнява, само когато има предадена стойност (избран потребител за изтриване)
if($_POST['id'] > 0){
.......
}
2. Това, което си направил при листването на потребителите е безмислено:
echo $row['id']." ";
echo $row['username'];
if(isset($_POST['del'])){
while ( $row2=mysql_fetch_array($delete)){
$_POST['id'];
}
}
Незнам каква ти е била целта (да триеш? на това място?). Според мен, ако искаш да изтриваш по един потребител, там трябва да има радио бутон, ако искаш да изтриваш по повече от един потребител на веднъж - там трябва да има чек бокс. Или нещо като това:
echo $row['id']." ";
echo $row['username'];
echo " <input type='radio' name='id' value='".$row['id']."' />";
До потребителското име ще се появи радио бутон, чиято стойност е id номера на съответния потребител. Като избереш потребител и натиснеш бутона за изтриване, тази стойност ще се изпрати съм същия скрипт, онази проверка по-горе ще сработи (предадено е id със стойност по-голяма от нула) и ще изтрие потребителя. Едва след това ще сложиш заявката за извличане на актуалния (вече) списък на потребителите (а не както сега си го направил - първо взимаш потребителите, после триеш и показваш списък с потребители, които вече са изтрити).
Ако искаш да изтриваш по повече от един потребител, тогава трябва да използваш чек бокс и стойностите да се предават като масив:
echo " <input type='checkbox' name='users[]' value='".$row['id']."' />";
Кода за изтриване също ще бъде по-различен:
if($_POST['id'] > 0){
foreach($_POST['users'] as $id){
mysql_query("DELETE FROM users WHERE (id = '".$id."')") or die(mysql_error());
}
}