|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] PHP | Обнуление массива $_POST при обновлении |
|
[решено] PHP | Обнуление массива $_POST при обновлении
|
Пользователь Сообщения: 121 |
Профиль | Отправить PM | Цитировать Текстовое поле + кнопка "отправить". После отправления сообщение записывается в файл. Если нажать кнопку "обновить" в браузере, то сообщение записывается опять! Как сделать, чтобы оно записывалось только при нажатии на кнопку "отправить"? Вот пример, на всякий случай:
|
|
------- Отправлено: 20:29, 22-03-2009 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Перед добавлением коммента в файл выполняйте поиск. Если есть совпадение - значит игнорировать.
|
Отправлено: 20:37, 22-03-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 121
|
Профиль | Отправить PM | Цитировать Это общепринятое решение? Похоже на костыль... А если я два раза нажму на кнопку "отправить", то, по идее, должно добавиться два коммента, но добавится только один. Ну может с комментариями этот подход и оправдан, а если я таким образом добавляю какие-нибудь очки(карму)? Как сделать, чтобы очки добавлялись только при нажатии на кнопку, но не при обновлении страницы?
Хочу добавить, что мне нужно, не чтобы "и так пойдет", а чтобы "истина восторжествовала", я ведь пока только учусь, хотелось бы сразу уяснить правильный подход к решению тривиальных задач. |
------- Отправлено: 22:28, 22-03-2009 | #3 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Ну если хотите "правильный подход", то начните с того, что гостевая книга использует базу данных с сохранением IP отправителя и времени отправки сообщения (прошло меньше 30 секунд от предыдущего сообщения - с добавлением нового отказать. Антифлуд-система). Также можно добавить скрытое поле с каким-нибудь md5-хэшем от системного времени, которое включается в БД в качестве ключа: ключ найден - добавлять не будем. С "кармой" аналогично. Вам в любом случае придётся записывать "кто, кому, за что" во избежание накрутки счётчика. Кроме того, подобные рейтинговые системы реализуются на AJAX для удобства пользователей, а значит никакие обновления страниц не помогут (но могут помочь повторные клики, поэтому в БД и записываем кучу информации).
А вот чтобы $_POST при обновлении обнулять - это вам, видимо, браузеры переписывать надо. |
Отправлено: 04:03, 23-03-2009 | #4 |
Ветеран Сообщения: 823
|
Профиль | Сайт | Отправить PM | Цитировать Coutty, +1, видать задело : ))
delog, в вашем примере первое сообщение можно считать общепринятым. Ведь иногда куда сложнее в программе составить условие и разные "защиты от дурка", чем сам алгоритм выполняемой части программы. Предложу еще свой метод Предположим, у нас есть форма в файле 1.html
В файле 2.php выполняется скрипт:
В этом же файле со скриптом вставляем ява скрипт автоматической переадресовки. И вот вы опять почти незаметно в первой форме и обновляйте сколько желаете. В этом весь фокус. Этот метод используется на многих форумах, при отправлении сообщения. Coutty, правильный ход мысли? |
|
------- Отправлено: 04:38, 23-03-2009 | #5 |
Пользователь Сообщения: 121
|
Профиль | Отправить PM | Цитировать Спасибо, пример с ява-скриптом - то, что надо. Только вывод на экран надо затолкать в 1.html(php), а в 2.php оставить запись в файл.
Цитата:
|
|
------- Отправлено: 10:58, 23-03-2009 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Службы - [решено] Завис при обновлении Vista | okshef | Microsoft Windows Vista | 151 | 14-01-2012 00:15 | |
Службы - [решено] Ошибка при обновлении 80070490 | emilj | Microsoft Windows Vista | 5 | 31-08-2009 20:54 | |
Как передать в javascript данные массива, полученного из кода на php | vagner_HATE | Вебмастеру | 1 | 18-06-2009 13:51 | |
[решено] PHP | Вывод массива в файл | Coutty | Вебмастеру | 2 | 29-10-2008 08:48 | |
PHP. Запись массива в файл. | Hemp | Вебмастеру | 3 | 08-10-2004 20:50 |
|