parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Altero 05.10.2005 14:16

Прошу прощения)

Мне казалось, что предыдущий автор вполне подробно изложил суть дела. Хорошо, попытаюсь и я.

В админ-панели для сайта операция по добавлению, скажем, новости, сопровождается примерно следующей конструкцией:
<form method="POST">
Заголовок <input name="name" size="20"><br>
Новость <br>
<textarea cols="60" name="body" rows="11"></textarea><br>
<input type="submit" value="Добавить" name="posted">
</form>  

^if(def $form:posted && def $form:name && def $form:body){
   ^void:sql{insert into news
         (name, body)
    values
         ('$form:name', '$form:body')}
   $response:location[/admin/index.html]
}
И это всё замечательно работает на сервере под FreeBSD. Однако я уже дважды столкнулся с такой проблемой (два сайта у двух различных провайдеров), что если тоже самое осуществить под IIS Win32, то проиходит нечто неприятное. А именно: сервер подвисает, ввиду того что происходит постоянное добавление новых записей в базу. Если самому не прервать, то прервёт сам сервер по своему тайм-ауту. У меня как-то было 400 записей за раз таким макаром добавилось.

Поменяв $response:location[/admin/index.html] на
$response:refresh[
$.value[0]
$.url[/admin/index.html]
]
всё заработало должным образом. Но как я уже говорил, сайт при этом перегружается дважды. Админка - не страшно, там только текст. А на самом сайте есть, например, голосование. И вот там двойной рефреш (а на сайте много графики) производит очень тягостное зрелище.

Ну вот объяснил проблему как мог. Спасибо за внимание.