Удаление сообщений в архив (проблема с реализацией)

altero

Guest
Удаление сообщений в архив (проблема с реализацией)

Приветствую! Бьюсь над проблемкой... Я в пхп не силён, но вот свезло разрабатывать сайт на системе NETCAT, и возникла задачка, решение которой выходит за рамки этой CMS.

Разрабатываю систему обратной связки, вопрос-ответ.
Форма. На странице выводится список сообщений (вопросов), у каждого есть поле типа checkbox, внизу страницы - кнопка "перенести в архив". При её нажатии помеченные сообщения как бы удаляются, переносятся в архив.
Саму операцию я представляю так:

mysql_query("update Messages set Deleted=true where Message_ID=...")

Только вот с реализацией затыка. Пробовал передавать субмитом с помощью яваскриптов параметры формы.. но результат нулевой. Наверняка что-то не так делаю. Как будет правильно?
Конкретно: как передать выбранные чекбоксы и как потом использовать их с помощью вышеуказанной операции?

Очень надеюсь на Вашу помощь! Спасибо!
 

jdoe

Новичок
PHP:
<? 
if (isset($_POST['chk']) && is_array($_POST['chk'])) {
  $ids = join(',', $_POST['chk']);
  $query = "update Messages set Deleted=true where Message_ID in ($ids)";
  mysql_query($query);
  header("Location: $_SERVER[PHP_SELF]");
  exit;
}
?>
<form method=post action="<?=$_SERVER['PHP_SELF']?>">
<? for ($i=0;$i<10;$i++) { ?>
  <input type=checkbox name="chk[<?=$i?>]" value=<?=$i?>>
<? } ?>
</form>
 

altero

Guest
jdoe, спасибо оргомное за ответ! Я сначала уверился, что всё теперь получится, но опять что-то не так сделал наверно)

Первый блок я не изменял, а вот второй я поставил с изменениями, т.к. листинг объектов (сообщений) делается системой netcat. В суффике объекта я поставил

PHP:
<form method=post action="<?=$_SERVER['PHP_SELF']?>">
В объекте в списке:

PHP:
<INPUT TYPE="checkbox" name="chk[$f_Message_ID]" value="$f_Message_ID">
а в суффикс объекта:

PHP:
<input type=submit name="posted" value="Переместить в архив">
</form>
Но это, увы, не работает. Происходит редирект по кнопке, но значения поля Deleted не изменяются. В чём может быть ошибка?
 

Фанат

oncle terrible
Команда форума
в чём угодно.
надо процесс проконтролировать на всех стадиях.
вот у тебя программа составляет запрос.
а ты запрос этот вообще видел? ;-)
 

altero

Guest
не знаю) а как можно всё это проконтролировать?
 

Фанат

oncle terrible
Команда форума
команда echo тебе знакома?
ты можешь с её помощью визуально проконтролировать значение переменной?

-~{}~ 13.09.05 22:54:

вот тебе, кстати, Пример отладки.
Там и вообще весь текст тебе полезен.
Я понимаю, что оно тебе нафиг всё не сдалось, со всем пхп и программированием вместе, но вдруг ты захочешь узнать ответ на вопрос
В чём может быть ошибка?
а там, как раз, на этот вопрос развёрнуто отвечено.
 

altero

Guest
Спасибо... прочитал, весьма поучительно и полезно... прошу прощения, сами мы неместные, обычаям здешним не обучены) Пойду смотреть ИСХОДНЫЙ HTML код ;)
 

Фанат

oncle terrible
Команда форума
кстати, да.
поскольку ты видел только код, который формирует инпуты.
а что у тебя там наформировалось, и передаётся ли хоть что-нибудь - не знает никто.
 

altero

Guest
да, сам дойти до такого способа контроля не додумался бы. Так что ещё раз спасибо! Действительно, значения чекбоксов пусты ( Буду копать...

-~{}~ 15.09.05 18:20:

Пока не работает)
У меня в $_SERVER['PHP_SELF'] выводится переадресация на 404 страницу :( Что там по идее должно быть? Адрес корня сайта? Или просто текущий адрес?..
Ведь весь этот код содержится на одной странице, переход на обработку данных формы происходит после перезагрузки страницы, и потом должна следовать ещё одна перезагрузка... после исполнения этого кода... так?...
 

Фанат

oncle terrible
Команда форума
У меня в $_SERVER['PHP_SELF'] выводится переадресация на 404 страницу
поясни
Или просто текущий адрес?..
да
потом должна следовать ещё одна перезагрузка... после исполнения этого кода... так?...
кода не видел - не знаю
 

jdoe

Новичок
вообще неткат - ужасная мешанина го.. ээ.. кода, сочувствую, особенно если с php мало знаком.

вообще так, как оно сделано, на php не пишут =) так что не пугайся.

контролируй процесс на каждом этапе, и все получится.
 

altero

Guest
Фанат, код выше, во втором сообщении, автор jdoe
В неткате подставляется адрес ненайденной страницы.

jdoe, да, согласен, "повезло" с CMS, спасибо за сочувствие) Так насчёт Вашего алгоритма я прав?..
 
Сверху