Xwab
Форумыnavigate_nextПрограммирование на PHP

нужно уничтожить пост и файлс!хелп
Сообщения
Mr.Berk

короче есть $_POST и $_FILES данные. я их обработал и удаляю через unset($_FILES,$_POST)? но они не удаляються!чё за хня?

19 Авг 2011, 20:06
Default_mo

по одной.

19 Авг 2011, 20:08
Mr.Berk

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

19 Авг 2011, 20:15
Default_mo

ну так браузеры заново отправляют данные если нажимаешь на "обновить"
кури в сторону сессий.

19 Авг 2011, 20:25
mix

как уже сказал Default_Mo, когда обновляешь страницы пост запросы отправляются снова.
вариант избавиться от повторного ввода в БД одной и той же информации, это проверять перед вводом уже имеющуюся информацию в БД
через if else

19 Авг 2011, 20:31
Sep

$_POST = NULL;

19 Авг 2011, 21:18
Dizzy

mix, бредово. У него же чат, следовательно повторения сообщений неизбежны. Допустим я написал слово "Да", значит никто другой это не сможет сделать определенное время?)
Я например вычисляю время сообщений и делаю ограничение в 30 секунд.

20 Авг 2011, 11:47
mix

Dizzy, ну а я же не знаю что у него за скрипт
З.Ы. Я это как вариант предложил
добавлено спустя 1 минуту:
Mr.Berk пишет:
"Default_mo, это чёт типа чата..."

сорри, не заметил

20 Авг 2011, 12:03
aBSuRD

Записывай в сессию последнее сообщение и ид комнаты..
if(empty($_SESSION['last']) || $_SESSION['last']['msg']!=$msg || $_SESSION['last']['room']!=$room) {
//Записываеш сообщение в базу/файл и заносиш его в сессию
$_SESSION['last']=array('msg'=>$msg, 'room'=>$room);
}
$room-ид комнаты...

20 Авг 2011, 15:17
mazaHELL

Mr.Berk, создавай каждый раз уникальное поле $_POST и уникальный идентификатор пиши в сесию, теперь каждый раз когда добавляешь сообщение сверяешь идентификатор с сесси с идентификатором поста

<?php
if(isset($_SESSION['uni']) && $_POST['uni'] == $_SESSION['uni'])
{
    //вставляешь пост
}
$uni = $_SESSION['uni'] = mt_rand(0,99999);
echo '
<input type="hidden" name="uni" value="'.$uni.'" />
<input type="text" name="msg" />';
?>
по идее должно работать

20 Авг 2011, 15:31
Ответить на тему