Antidischarge News - Сохраняем данные новости при неудачном вводе капчи

Все блоги / DLE движок для сайтов 28 марта 2013 0   
Antidischarge News - Сохраняем данные новости при неудачном вводе капчи

Хак был навеян
вопросом пользователя
о проверке кода безопасности на ajaxе.

Вспомнив как я сталкивался с добавлением новостей с покон веков в дле, будучи еще публикатором какого то вареза на локалке моего провайдера я добавлял новости, и тут зловещий движок смеялся надо мной, что я не правильно ввел каптчу и стирал в ноль моя запись, ужас... :)

Это действительно грусть и печаль, когда ты пишешь текст новости [тогда я и взял в привычку копировать его до отправки] и возможно случайно неверно ввел код и тут на... пусто... жесть...

Спасает опера от этого, но не все же на ней сидят, так что если вас тоже раздражает это, решаем вместе:

Начав изучать код я понял, что тут простой заменой пару строчек кода не обойдется, и надо перенести код, инструкцию поэтому писать было бы очень заковыристо, так что покажу как я сделал это на примере структуры файла:

так выглядит штатный engine/modules/addnews.php:

Antidischarge News - Сохраняем данные новости при неудачном вводе капчи

и вот что я сделал:

Antidischarge News - Сохраняем данные новости при неудачном вводе капчи

+ еще несколько условий и заполнение инпутов отправлеными значениями, в результате получается файл:
addnews.php
[6,39 Kb] (cкачиваний: 0)


с многими комментариями внутри для ясности.

В результате работы этого файла, при неверном вводе кода безопасности или других ошибках получаем не обычный месадж с кнопкой вернуться назад, а полноценную форму с заполненными вами до этого полями и ошибкой сверху:

Antidischarge News - Сохраняем данные новости при неудачном вводе капчи

Для вывода ошибки - в шаблон addnews.tpl в нужное вам место вставьте {errors}.

Хак сохраняет абсолютно ВСЕ введенные данные, вплоть до значений доп полей.

Версия DLE: 9.6-8 (Для более ранних версий пусть целсофт сам решает эту проблему)
Автор: Dmitry Dark5ider


Как всегда - спасибо за интерес, будут вопросы - пишите.

 Источник:Dmitry Dark5ider, DLE

Похожие публикации

@
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Архив публикаций