Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите разобратся в своем же коде =)
Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009 Откуда: Пермь
Помог: 0 раз(а)
Есть код добавления комментариев все работает, но при обновлении страницы добавляется опять же последний комментарий. (тоесть по моему условие "если есть переменная $text , то добайляй комментарий") Как я понимаю в этом случаи надо убить переменную. $text
Помогите пожалуста разобратся с этим недоразумением.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Цитата:
Р.S. Правильно ведь ?
Нет не правильно ведь при обновлениистраницывесь POST-запрос шлется заново
Простоен решение - делать редирект после доабвления сообщени я
Сложнео решение - отслежвать одинковость сообщений делать авторизацию и тд
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Вездеход
Отправлено: 08 Июля, 2009 - 08:57:42
Частый посетитель
Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
или мож так попробовать
$comtext = mysql_query("INSERT INTO Blazer_goost_comments VALUES( '' , '".$_SESSION['nick']."','".$_POST['text']."', '".date("Y-m-d")."' )");
header("Location: путь к скрипту/скрипт.php?всякие переменные&add=ok");
т.е. у вас проходит запись и сразу же редиректится на тудаже (тупо обновление считай страницы), но через $_GET передается какая то переменная (в данном случае add)
и если она задана - значит запись уже была и повторно мы ниче не записываем.
т.е. для записи должно быть такое условие if(isset($_GET['add']) and isset($_POST['text']) and !empty($_POST['text'])) {...}
unset($_POST['text']);
кстати уберите - толку нет, разве что память чуть освободите ))
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Цитата:
Как я раньше не додумался))
Кстати достаточно стандартный ход с переадресацией самого на себя и стиранием таким образом POST-запроса
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.