Помощник
Здравствуйте, гость ( Вход | Регистрация )
Модуль почтовой рассылки пользователям сайта, Нужна помощь! |
Loader |
2011-01-10, 15:03
Сообщение
#1
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Почти готов этот модуль, но есть пара нюансов.
Во-первых не могу победить встроенную функцию отправки писем, как ни бился, пишет ошибку "поля не заполнены", хотя всё вроде введено и передано куда надо. Кто знает, подскажите чего ей не хватает! Во-вторых, после завершения отправки выводится экран, типа что всё отправлено, всё хорошо, НО! Нужно как-то сделать чтобы при повторном обращении (перезагрузке страницы) выбрасывало опять на редактор, иначе получится повтор отправки всех писем, что нехорошо (спам ). Это у меня тоже не получается! Всё выглядит следующим образом: Первая страница: Логинимся, попадаем в редактор: Заполняем поля, далее эта ошибка!: И если бы ошибки не было, то: При обновлении этой страницы должно выбрасывать в редактор, иначе повторно всё отправит! Это не получается!
Прикрепленные файлы
|
|
|
||
sanes |
2011-01-10, 15:07
Сообщение
#2
|
|
Аноним Группа: Пользователи Сообщений: 1 180 Регистрация: 2008-12-29 Из: Волгоград Репутация: нет Всего: 4 |
Что это за модуль? Не помню, есть ли в rc5 такой..
|
|
|
||
Jon |
2011-01-10, 15:10
Сообщение
#3
|
|
Любитель Группа: Бета-тестеры Сообщений: 282 Регистрация: 2009-07-12 Из: Москва Репутация: нет Всего: 0 |
Кстати очень нужный модуль.
|
|
|
||
Loader |
2011-01-10, 15:11
Сообщение
#4
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Теперь есть! P.S. Ещё желательно вывести прогресс отправки, но кроме как через echo ничего на ум не приходит |
|
|
||
sanes |
2011-01-10, 15:48
Сообщение
#5
|
|
Аноним Группа: Пользователи Сообщений: 1 180 Регистрация: 2008-12-29 Из: Волгоград Репутация: нет Всего: 4 |
|
|
|
||
Loader |
2011-01-10, 16:01
Сообщение
#6
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
|
|
|
||
sanes |
2011-01-10, 16:15
Сообщение
#7
|
|
Аноним Группа: Пользователи Сообщений: 1 180 Регистрация: 2008-12-29 Из: Волгоград Репутация: нет Всего: 4 |
Loader, А попроще можешь быть? У меня под рукой нет RC5. Я хотел узнать, это доп. модуль или ты про El. 1.0? В EL 1.0 по памяти это дело уже есть.
Сообщение отредактировал sanes - 2011-01-10, 16:17 |
|
|
||
Loader |
2011-01-10, 16:34
Сообщение
#8
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Вот оно что, ясно. Да, это дополнительный модуль для RC5. |
|
|
||
Loader |
2011-01-10, 17:09
Сообщение
#9
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Это я победил, дело за малым! Остался второй вопрос и ещё нужно как-то вывести прогресс выполнения, или хотя-бя значок ожидания во время выполнения цикла отправки! HELP!!! |
|
|
||
Alexander |
2011-01-11, 0:21
Сообщение
#10
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Самая простая и самая надежная защита от повторного POST запроса - это внедрить в состав POST запроса некоторый "маркер", который ставить при попадании на страницу с формой и обнулять при отправке этой формы. Это может быть кука или сессия. Выбирайте, что Вам больше по душе. Тут, я так понимаю совсем нет ничего сложного. Заведите где-то картинку и показывайте ее сразу после того, как форма отправлена. |
|
|
||
Loader |
2011-01-11, 7:18
Сообщение
#11
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Насколько я знаю, в Элеаноре есть встроенная функция показа значка загрузки. Хотелось бы использовать именно её. А как дело обстоит с отображением прогресса? Это реально сделать? Самая простая и самая надежная защита от повторного POST запроса - это внедрить в состав POST запроса некоторый "маркер", который ставить при попадании на страницу с формой и обнулять при отправке этой формы. Это может быть кука или сессия. Выбирайте, что Вам больше по душе. Тут моих знаний пока не достаточно. Можно подробнее (с примерами )? Сообщение отредактировал Loader - 2011-01-11, 7:19 |
|
|
||
Alexander |
2011-01-11, 17:53
Сообщение
#12
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
ShowLoading и HideLoading для RC5. И CORE.ShowLoading И CORE.HideLoading для 1.0 Нет. Сделать не реально. Потому что браузер посылает запрос на сервер. А когда придет ответ (и придет ли вообще) - это знать невозможно. Пример: ты когда общаешься с кем-то в аське ведь не знаешь, когда точно (через сколько секунд) тебе ответит твой собеседник Разумеется. При заходе на страницу (не POST запрос), генерируем какую-то уникальную строку. Это можно сделать при помощи uniqid(). Дальше записываем эту строку в куку пользователю + в hidden элемент формы. После отправки формы (POST запрос) - читаем строку из куки и тут же удаляем куку. Дальше сравниваем строку из hidden формы со строкой, полученной из формы: если они совпадают, осуществляем отправку. |
|
|
||
Loader |
2011-01-12, 11:53
Сообщение
#13
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
А синтаксис вызова какой? <?php ShowLoading; - так не работает! Mainclass->ShowLoading; - так тоже! ?> Разумеется. При заходе на страницу (не POST запрос), генерируем какую-то уникальную строку. Это можно сделать при помощи uniqid(). Дальше записываем эту строку в куку пользователю + в hidden элемент формы. После отправки формы (POST запрос) - читаем строку из куки и тут же удаляем куку. Дальше сравниваем строку из hidden формы со строкой, полученной из формы: если они совпадают, осуществляем отправку. Это слишком заморочено... вот если бы пример кода! Сообщение отредактировал Loader - 2011-01-12, 15:53 |
|
|
||
Alexander |
2011-01-12, 20:35
Сообщение
#14
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
ShowLoad() и HideLoad()
Пример кода, будет, наверное завтра. |
|
|
||
Loader |
2011-01-12, 20:50
Сообщение
#15
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Alexander , Fatal error: Call to undefined function ShowLoad() in /var/www/pdaki192/data/www/pda-kino.net.ru/modules/notifications/index.php on line 81 ОК ! Сообщение отредактировал Loader - 2011-01-12, 20:51 |
|
|
||
Loader |
2011-01-13, 23:21
Сообщение
#16
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Про сессию, если можно, пример? |
|
|
||
Alexander |
2011-01-14, 21:09
Сообщение
#17
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Loader, это JS функции, а не PHP.
Простой пример кода. При показе формы:
При отправке:
Вот самый простой, надежный и примитивный вариант. Перед использованием кода, его необходимо понять. |
|
|
||
Loader |
2011-01-14, 21:17
Сообщение
#18
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Да я понял, как её вызвать-то??? Так я же про сессию просил а не про куки! Если можно про сессию пример? Этот я понял и усвоил! P.S. Всё работает как часики! Спасибо, Александр! Сообщение отредактировал Loader - 2011-01-14, 21:57 |
|
|
||
Alexander |
2011-01-14, 22:41
Сообщение
#19
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Дык. В JS Файле:
А потом где-нибудь
Ну а что, с сессией. С сессиея вообще все просто. Стартуете сессию. Далее, перед показом формы, ставите какой-то флаг
В момент отправки проверяете:
А после отправки этот флаг ставите в true. |
|
|
||
Текстовая версия | 0.0379 сек. 11 запросов GZIP включен Сейчас: 2024-04-25, 20:21 |