![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Alexey007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Gold Dragon, во-во...
можно поподробнее? |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
ну так я написал тебе... поставь перед else это unset($act); и попробуй..
А вообще советую пересмотреть сам принцип, раздели на две части код -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
capitan |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Alexey007,
Используй стандартный метод, который описал SelenIT,
Зачем изобретать велосипед и что-то усложнять? А если тебе потребуется проверка данных, перед добавлением их базу? Если что-то не пройдёт проверку, массив обнулится и придётся всё набирать заново. |
||||
|
|||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Кстати, я думаю не стоит базу такими пустяками тревожить, можно обойтись и куками ![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
Gold Dragon, контрольный вопрос: а если в браузере куки вырублены?
![]() |
|||
|
||||
capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Можно заместо кук использовать сессии. Они работают всегда.
|
|||
|
||||
Alexey007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
У меня такое ощу щение, что никто меня не понимает!
Я ЯСНО выражаюсь: А мне пишут:
Gold Dragon, Ну так я написал код редактирования новостей.. прошу помочь исправить\обновить. А как именно Разделить на 2 части? Модешь по-подродробнее плиз. |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Alexey007,
header ты не можешь юзать, потому, что у тебя логика скрипта недодуманна, код не валидный просто напросто. В целом былы представленны действительно рабочие методы борьбы с ситуацие: 1. разделение файла на несколько частей т.е. в поле action формы прописать файл добавления новости, который header'ом кинет потом на исходную страницу. про задержку тебе достаточно полно написали кучу методов 2. Блокировка по времени 3. Блокировка по идентичным записям в базе Единственного метода не существует, каждый привлекателен в определенной ситуации... Gold Dragon, unset не поможет, честно говоря не знаю почему, просто была похожая проблема - не помогало :( |
|||
|
||||
Alexey007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
BuShaRt,
По пунктам: 1. Не получится даже разбить файл.. потому что этот header я так понял надо вставлять вначале страниы(всей) 2. по времени не пойдет, т.к. запрет должен быть навсегда.. 3. а если новоть повторится? а это может быть. Есть вопрос: вот допустим редактирование новости, после этого переходит, например, на страницу messenger.php по коду который берет данные в виде $_POST[name].. о после удачного редактирования переменную стирает... Такое возможно сделать? |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Alexey007,
1. Нет, header обсалютно не обязательно ставить в самом начале строки. Просто до него не должно быть вывода информации. Сам по суди, ведь несколько не логично сначала начать заполнять контент для отправки на клиент, а потом вдруг взять и просто перейти совершенно на другую страницу бросив этот контент в некуда... Правило очень просто: "header можно и нужно использовать не только в начале строки, но он должен срабатывать четко по некоторым условиям"... На пример "Вы удачно добавили новость", должно быть не до header, а выводиться в скрипте, допусти при получение GET-запроса с переменной stasut=add_ok Старался как можно ясней рассказать, не знаю получилось ли) 2.Новость может повториться и с абсолютно идеальной системой защиты от повторени т.к. человеческий фактор... ... И даже проверка в бд, не сработает если символ "А" писать сначала на кирилице, а потом на латинице... 3.Не до конца понял, про редактирование... Вообще как выще указывал Gold Dragon переменные удаляються функцией unset, но с $_POST этот прием не срабатывает, сам не знаю почему, может гуру ответят ![]() |
|||
|
||||
Alexey007 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
BuShaRt,
вроде понял. ![]() Т.е. создать файл некий header.inc, в нем прописать
и вставить методом
ДО вывода всех данных... Но только в течение 10 секунд если пользователь перегрузит страницу (F5), то данные опять добавятся. ![]() Помогите написать по умному систему добавления/редактирования/удаления новостей ![]() А то я так чувствую что у меня все оч и оч криво сделано:( Весь движок даже.... ![]() P.S. если кто может, дам весь движок.. и подскажете, что и как подправить.. может у меня ещё и дыр куча. ![]() Это сообщение отредактировал(а) Alexey007 - 29.4.2007, 01:37 |
||||
|
|||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
455 636 110 стучи
Добавлено через 10 минут и 50 секунд Я спать, стучи уже тогда после выходных ![]() Хотя может и на выходных появлюсь... |
|||
|
||||
Всемогущий |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
Как я понимаю структура БД такова:
предроложим что новостей (SMALLINT -32768 | 32767)значит дальнейшие запросы будут выполнятся менее 5 секунд. теперь собственно пишу кусок кода добавления новости
Это сообщение отредактировал(а) Всемогущий - 29.4.2007, 07:08 |
||||
|
|||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Всемогущий,
На самом деле клоны будут в таком случае и запросы тяжеловатые... + проблемы возможны с кодировками... Не знаю как вы, но лично я очень не доверяю стрингам на кирилице... Если уж доверились, то по моему проверки по заголовку новости вполне хватит в данном случае риск очень минимален и решение пригодно для использования... И вот я щас подумал, вроде об этом уже говорили... А почему бы просто после добавления не перекидывать на форму редактирования, а форма редактирования пусть обновляеться сколько угодно раз ;) Это сообщение отредактировал(а) BuShaRt - 29.4.2007, 09:15 |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
КСТАТЕ! Совсем забыли, ведь есть еще контроль по картинке, можно по тому же принципу input невидимый кидать на страницу и на сервере создавать пометку, что вот, для этого значения есть право добавить новость, после добавления это право умерает и снова надо жать кнопочку "добавление новости"
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |