Чтож, выскажу свое мнение.
Первое, что не понравилось:
- Код: Выделить всё
for ($i=1;$i<1000;$i++)
С какого потолка была взята цифра 1000? Почему нельзя использовать sizeof() или count()?
- Код: Выделить всё
"select post_id,poster_id from ".$table_prefix."posts where topic_id=".$tp_id.";"
Неприкрытый SQL Injection.
- Код: Выделить всё
delete ...
Почему бы не использовать стандартные функции из functions*.php для выполнения этих действий с гарантией, что все будет корректно?
Теперь советы и пожелания:
1) Интегрировать в дизайн phpBB
2) Проверять, авторизован ли пользователь как модер или админ
3) Не изобретать велосипедов и пользоваться готовыми функциями
4) Почему бы вместо while не использовать for? ИМХО, там нужен именно он.
5) Есть такой трюк. Если всем чекбоксам присвоить имя name[], то на входе мы получим переменную-массив $_POST['name'], в которой будут содержаться значения всех выбранных чекбоксов.