Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 43 Ответов
  • 18876 Просмотров
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Re: Заказать звонок - Joomla 2.5
« Ответ #30 : 02.08.2015, 23:20:18 »
Но если делать скрипт без привязки к апи - добавьте к проверкам следующие функции
Код: php
    $value = trim($value);
    $value = stripslashes($value);
    $value = strip_tags($value);
    $value = htmlspecialchars($value);

Прописал так:
Код
$name = trim(htmlspecialchars(strip_tags(stripslashes($_POST['name']))));
$phone = trim(htmlspecialchars(strip_tags(stripslashes($_POST['phone']))));
Этого достаточно?
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Re: Заказать звонок - Joomla 2.5
« Ответ #31 : 02.08.2015, 23:24:32 »
Код: php
$name = trim(htmlspecialchars(strip_tags(stripslashes($_POST['name']))));
$phone = trim(htmlspecialchars(strip_tags(stripslashes($_POST['phone']))));
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: Заказать звонок - Joomla 2.5
« Ответ #32 : 03.08.2015, 20:40:44 »
ну да, в одной строке последовательно всеми функциями обрабатывать переменную, вполне себе решение нормальное
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Re: Заказать звонок - Joomla 2.5
« Ответ #33 : 03.08.2015, 22:09:17 »
ну да, в одной строке последовательно всеми функциями обрабатывать переменную, вполне себе решение нормальное

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

файл index.php
Спойлер
[свернуть]

файл callme.php
Спойлер
[свернуть]

Спасибо!
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: Заказать звонок - Joomla 2.5
« Ответ #34 : 04.08.2015, 14:43:25 »
Вполне можно.
Только я бы поменял очередность проверок.
Сначала мы очищаем полученные данные из формы и после проводим проверку на пустые строки. Иначе может получиться, что какая-нибудь гадость придет в поле NAME и после очистки уйдет письмо с пустым полем.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Re: Заказать звонок - Joomla 2.5
« Ответ #35 : 04.08.2015, 16:00:43 »
Вполне можно.
Только я бы поменял очередность проверок.
Сначала мы очищаем полученные данные из формы и после проводим проверку на пустые строки. Иначе может получиться, что какая-нибудь гадость придет в поле NAME и после очистки уйдет письмо с пустым полем.

То есть "trim" нужно сделать последней проверкой?
Переделал так:
Код: php
$name = strip_tags(stripslashes(htmlspecialchars(trim($_POST['name']))));
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: Заказать звонок - Joomla 2.5
« Ответ #36 : 04.08.2015, 16:33:39 »
нет, не так

Код: php
$name = trim(htmlspecialchars(strip_tags(stripslashes($_POST['name']))));
$phone = trim(htmlspecialchars(strip_tags(stripslashes($_POST['phone']))));
if(!empty($name) and !empty($phone)){
$tema = 'Обратный звонок';
$to = 'info@site.ru';
$body = "Имя: $name \nТелефон: $phone";
$headers = 'From: My Site <'.$to.'>' . "\r\n";
    setcookie('mail', 'sendmail');
    mail($to, $tema, $body, $headers);
    header("Location: ${_SERVER['REQUEST_URI']}");
    die;
}

То есть сначала очистили входящие данные, потом проверили - не пустые ли они и отправляем письмо
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Re: Заказать звонок - Joomla 2.5
« Ответ #37 : 04.08.2015, 16:43:40 »
нет, не так

Код: php
$name = trim(htmlspecialchars(strip_tags(stripslashes($_POST['name']))));
$phone = trim(htmlspecialchars(strip_tags(stripslashes($_POST['phone']))));
if(!empty($name) and !empty($phone)){
$tema = 'Обратный звонок';
$to = 'info@site.ru';
$body = "Имя: $name \nТелефон: $phone";
$headers = 'From: My Site <'.$to.'>' . "\r\n";
    setcookie('mail', 'sendmail');
    mail($to, $tema, $body, $headers);
    header("Location: ${_SERVER['REQUEST_URI']}");
    die;
}

То есть сначала очистили входящие данные, потом проверили - не пустые ли они и отправляем письмо

Спасибо большое!
Понял )))
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

Sumen

  • Захожу иногда
  • 68
  • 2 / 0
Re: Заказать звонок - Joomla 2.5
« Ответ #38 : 20.02.2016, 23:23:24 »
Товарищи, прошу помощи.
Пытаюсь сделать форму описываемым методом, но не получается.
Исходные данные:
1. Работаю на денвере
2. готовый шаблон Tenth
3. учитывая, что в шаблоне уже прикручены различные кнопки/поля и т.п. (в виде "uk-form"), пытаюсь использовать их.
В общем, моя форма выглядит так:
HTML
Код
<form class="uk-form" method="post" action="<?php echo $_SERVER['REQUEST_URI'] ?>" style="width:250px; position:absolute; top:50px; right:15px; z-index:2">
    <fieldset>
        <legend>Закажите бесплатную <br> консультацию специалиста</legend>
        <div class="uk-form-row">
<input required="required" maxlength="30" type="text" name="name" placeholder="Ваше имя"/>
</div>
        <div class="uk-form-row">
<input required="required" maxlength="12" type="text" name="phone" placeholder="Ваш телефон"/>
</div>
<input type="hidden" name="check" value="vv2319" />
<div class="uk-form-row">
        <button class="uk-button" input type="submit">Заказать</button>
        </div>
    </fieldset>
</form>
Соответственно, сделан файл cllback.php и размещен в корне сайта:
Код
<?php
$name = trim(htmlspecialchars(strip_tags(stripslashes($_POST['name']))));
$phone = trim(htmlspecialchars(strip_tags(stripslashes($_POST['phone']))));
if(!empty($name) and !empty($phone)){
$theme = 'Он-лайн заявка';
$to = 'info@lab-inter.ru';
$body = "Имя: $name \nТелефон: $phone";
$headers = 'From: My Site <'.$to.'>' . "\r\n";
    setcookie('mail', 'sendmail');
    mail($to, $tema, $body, $headers);
    header("Location: ${_SERVER['REQUEST_URI']}");
    die;
}
?>
В Index.php добавлена проверка:
Код
if($_POST['check']=='vv2319'){
    include 'callback.php';
}
Проверяю работоспобность:
- после нажатия на кнопку "отправить" получаю 404, в адресе: localhost/mysite/текущая-старница/<?php%20echo%20$_SERVER[%27REQUEST_URI%27]%20?>
- на почту ничего не приходит
Помогите, пожалуйста, разобраться.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: Заказать звонок - Joomla 2.5
« Ответ #39 : 28.02.2016, 14:22:37 »
зачем инклюдить callback.php? Вы хотите, чтобы форма работала на AJAX? Тогда где обработчик на JS?
Пишите (пример на jquery)
Код: javascript
$('.uk-form').on('click', 'uk-button', function(){
 // Здесь можно пихнуть всякие проверки на заполненность\формат полей а можно и нет
var form_data = $('.uk-form').serialize();
$.ajax({
           type: 'POST',
           url: 'callback.php',
           target: '',
           data: form_data,
           cache: false,
success: function(response){
//куда то передаем сообщение, если запрос выполнен, в Lightbox или просто ранее скрытое поле
$('#result').fadeIn().html(response); // ответ из callback.php, если там есть echo
}
});
});
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Sumen

  • Захожу иногда
  • 68
  • 2 / 0
Re: Заказать звонок - Joomla 2.5
« Ответ #40 : 28.02.2016, 14:59:20 »
зачем инклюдить callback.php? Вы хотите, чтобы форма работала на AJAX?
Я хочу, чтобы она работала. <- Точка именно в этом месте. Мне как-то без разницы, на AJAX или еще на чем-то. Взял готовое решение, нашел, где обсуждается и спросил. По-моему для человека, не разбирающегося в вопросе вариант наилучший.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: Заказать звонок - Joomla 2.5
« Ответ #41 : 28.02.2016, 18:36:01 »
Я хочу, чтобы она работала. <- Точка именно в этом месте. Мне как-то без разницы, на AJAX или еще на чем-то. Взял готовое решение, нашел, где обсуждается и спросил. По-моему для человека, не разбирающегося в вопросе вариант наилучший.
хм, если инклюдить файл в страницу где отрабатывает форма а этот файл отрабатывает форму - ничего на выходе не будет
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Sumen

  • Захожу иногда
  • 68
  • 2 / 0
Re: Заказать звонок - Joomla 2.5
« Ответ #42 : 28.02.2016, 19:16:39 »
хм, если инклюдить файл в страницу где отрабатывает форма а этот файл отрабатывает форму - ничего на выходе не будет
То есть три года (с первого поста этой темы) работало, а сейчас перестало? Или конкретно в моем случае что-то не так?
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: Заказать звонок - Joomla 2.5
« Ответ #43 : 28.02.2016, 21:38:18 »
То есть три года (с первого поста этой темы) работало, а сейчас перестало? Или конкретно в моем случае что-то не так?
если честно я вообще не понимаю, каким образом инклюд файла обработчика в страницу поможет ей работать
полный бред
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Multilingual Virtual Keyboard for Joomla 5 [решено]

Автор creative3d

Ответов: 2
Просмотров: 359
Последний ответ 28.01.2024, 12:49:40
от creative3d
News Calendar Joomla 3.0 - html5 - Rus

Автор leo78

Ответов: 26
Просмотров: 13058
Последний ответ 21.11.2023, 18:32:21
от Bommbba
Плагин StopKids для маркировки сайта знаком 18+ для Joomla 1.5-3.x

Автор ecolora

Ответов: 40
Просмотров: 19830
Последний ответ 19.03.2023, 18:55:08
от ecolora
Модуль тегов Joes Word Cloud для Joomla 3

Автор ecolora

Ответов: 1
Просмотров: 1391
Последний ответ 05.05.2022, 19:04:44
от ecolora
Плагин превьюшек mAvik Thumbnails 2 - версия для Joomla 3

Автор mavik

Ответов: 593
Просмотров: 84116
Последний ответ 05.12.2021, 12:24:10
от Yamamura