Про устаревшие страницы.

codsteep

Новичок
Про устаревшие страницы.

Пользователь из разных скриптов может оставлять сообщения.
Отправляем данные из формы методом POST в send.php. Если в самом сенде делать header () то всё вроде нормально за исключением одного... пользователь не узнает всё ли он правильно сделал. Если использовать вещи типа <meta http-equiv='refresh' content='3;URL=indexx.php'> (И выводит сообщение в зависимости от того что он натворил). То сталкиваемся с проблемой F5.
Я подумал и пришла мысль такая:
В 1.php находиться форма и сами сообщения. Отправляет мессагу данные передаються в send.php. В send.php ставим header на mess.php и передаём GETом переменные типа error=(тип ошибки), to=(куда перенаправлять).И в нём уже использовать

<meta http-equiv='refresh' content='3;URL=$to'>
Тогда если будут обнавлять-ничего страшного не случиться.
Есть ли тут какие нить значительные минусы, или есть ли способ проще?
 
"Не удаёться обновить стр. без повторной отправки данных. Нажмите повтор или отмена... ну и т.д."
 
А чем плох выше преведённый?
Просто можно будет редакитровать сами сообщения без проблем.Да и код поменьше получаеться...
 
на mess.php и передаём GETом переменные типа error=(тип ошибки),
codsteep
я правильно понял, что ты обрабатываешь форму и если есть ошибка, то ты ее показываешь в mess.php и потом возвращаешься в форму, используя meta-тег ?
 
Я обрабатываю форму и ГЕТом передаю mees.php чё писать.
Не только ошибку - любое сообщение от "Сообщение успешно отправленно" до "Не лезь сюда нехороший человек". А потом используя meta возвращаю на исходную позицию.
 
просто пользователю будет намного удобнее работать если ошибки будут выводиться прямо над формой или возле полей формы, которые заполнены неверно. В примере, который я тебе привел, обработка ошибок сделана именно так.
 
сделай так, чтобы ошибки выводились рядом с полями, которые заполнены неверно.

-~{}~ 22.02.04 15:01:

и кстати ничто не мешает выводить ошибки между этими мессагами и формой.
Да и еще, если форма заполнена неверно, то надо выводить ТОЛЬКО форму и тексты ошибок, а мессаги выводить не надо
 
Так оно так и есть.... Список сообщений оставленных пользователями. Снизу форма. Заполняет нажимает отправить. Ево перебрасывает и говорят ("Всё хорошо.Спи спокойно дорогой товарищ. Через 5 минут страница перезагрузиться и бут те счастие. А если нетерпеливый тыкни сюда") Он тыкает (или терпиливо ждёт) и его возращает к этому списеку сообщений где на вершине красуеться его)))

-~{}~ 22.02.04 15:06:

Что то типа форума/гостевой.

-~{}~ 22.02.04 16:29:

PHP:
//index.php
<?

//выводим оставленные ранее сообщения

// форма отправки
echo "<form action='send.php' method=post>
<textarea name='msg_text' rows=10 cols=80 wrap='physical' class=form></textarea>
<input class=form type='submit' value='Отправить'>
</form>\n";
?>

//send.php

<?
if (!isset($msg_text) OR trim($msg_text)=="") {
header("location: message.php?to=1&mess=1");
}
else{
    $msg_text = str_replace("<", "&lt;", $msg_text);
    $msg_text = AddSlashes($msg_text);
//вносим в базу    
header ("location: message.php?to=1&mess=2");
    }
    ?>

<?
if (!isset($to)) $to=1;
if ($to==1) $redirect="index.php";
if (!isset($mess)) $mess=1;
if ($mess==1) $messages="<h3>Ошибка!</h3>Введите своё cообщение";
if ($mess==2) $messages="<h3>Ок!</h3>Сообщение успешно отправленно";

echo"
<html><head><title>Отправка сообщения</title></head>
<META http-equiv=Content-Type content='text/html; charset=windows-1251'>
<LINK href='style.css' type=text/css rel=stylesheet>
<meta http-equiv='refresh' content='2;URL=".$redirect."'>
<body>
<DIV align=center><CENTER>
<TABLE cellSpacing=0 class=form cellPadding=6 width=90% height=20% bgColor=#f4f4f4 border=0>
<TR><TD>".$messages."
<h4>Если страница автоматически не перезагрузиться нажмите <a href=".$redirect.">сюда</a>.</h4>
</TD></TR></TABLE></DIV></center>
</body></html>";
?>

Вот это я имел ввиду...
 
Сверху