G

Gordankem

+3
Репутация
0
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 25 октября 2019 в 06:54
Всё разобрался спасибо за помощь. Проблема решена.
#2 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 24 октября 2019 в 10:47


Коллега же вам объяснил зачем нужна обработка на стороне клиента и зачем на стороне сервера.
Алгоритм я вам написал, просто реализуйте его на PHP.
В чем у вас затруднения с реализацией?

@IamB

Проблема прописать регулярными выражениями для переменной с данными для имени и для переменной с данными для телефона. Тут нужно условие если переменная $text и $telefon с регулярным выражением получила правильные данные то идём дальше. Не могу понять как это прописать.
#3 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 24 октября 2019 в 08:43


В таком виде это можно делать?

Gordankem
Можно.

Или нужно что-то ещё уже для PHP?

Gordankem
Нужно. И вот почему:
Во-первых: есть вероятность, что у пользователя отключены или заблочены яваскрипты на вашем сайте, тогда проверка в форме не сработает.
Во-вторых: есть вероятность, что форму будут заполнять боты, тогда ваши яваскрипты вообще не запустятся и проверка не сработает.
Поэтому проверку полей формы яваскриптом делают лишь для людей, чтобы они видели сразу, возможные ошибки в заполнении формы, а не после ее отправки. Основную проверку формы делают уже на принимающей стороне, в вашем случае это php.

Loadырь

Тогда ещё два вопрос.
Можно ли оставить для формы использование JS и при этом сделать также на PHP обработчике формы?
Можете подсказать как на PHP это реализовать?
#4 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 24 октября 2019 в 05:35


Пошёл бы другим путём.
1. Проверял бы длину строки и ограничил бы её 30 символами для имени и ещё меньше для телефона. Не соответствует — досвидос.
2. Проверил бы поле телефон регулярным выражением, там должны быть только цифры и +. Не соответствует — досвидос.
3. Проверил бы поле Имя регулярным выражением, там должны быть только символы русского, латинского алфавита, тире и пробел. Не соответствует — досвидос.
Далее дальнейшая логика вашего скрипта.

@IamB
Я реализовал проверку на самой форме.
  1. <form class="contact_form_phone" method="post" action="/templates/_мойШаблон_/special/мой_файл.php">
  2. <ul>
  3. <li><input type="text" placeholder="Степан Васильков" name="text" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'* Ваше Имя':this.value;" value="* Ваше Имя" class="your-name" required maxlength="16"/></li>
  4. <li><input type="text" placeholder="+7XXXXXXXXXX" name="tel" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'* Ваш Телефон':this.value;" value="* Ваш Телефон" class="phone-address" required pattern="^\+7\d{3}\d{7}$" maxlength="12" /></li>
  5. <li><input type="submit" name="send" value="Отправить" class="send-message" /></li>
  6. </ul>
  7. </form>
В таком виде это можно делать?
Или нужно что-то ещё уже для PHP?
#5 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 23 октября 2019 в 14:50


Как вариант.
В форме указать путь явно. А вот в файле обработчике form_sms.php фильтровать то, что пришло с POST запросом.
Боятся стоит того, что ваш скрипт будет работать и с некорректными данными. К примеру, вам в поле name загрузят пару томов Л.Толстого.

@IamB
Насчёт безопасности формы я продумал
$tel = $_POST['tel']; //Поле из формы имя
$text = $_POST['text']; //Поле из формы телефон
$tel = htmlspecialchars($tel); //функция преобразования специальных символов для защиты
$text = htmlspecialchars($text);
$tel = urldecode($tel); //декодирование URL адеса в случае прописывания его в поле формы
$text = urldecode($text);
$tel = trim($tel); //удаление пробелов в начале и в конце строки
$text = trim($text);

Что ещё можно добавить для безопасности получения данных из формы?
#6 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 23 октября 2019 в 14:44


Основной вопрос прописать обращение без указания явного пути?

Gordankem
Здесь: /forum/thread32436-1.html#318005
И Вам следует обеспечить наличие соответствующего файла с расширением php (form_sms.php)
в соответствующем каталоге шаблона по умолчанию _default_ (а не _montaj_).

Но это как бы небезопасно считается вроде

Gordankem
Откуда взято вроде? С потолка.

DeDja

Два вопроса насчёт работы с шаблоном.
Есть ли ограничение в админке движка на отработку PHP кода?
Например
  1. <form class="contact_form_phone" method="post" action="/templates/_мойШаблон_/special/мой_файл.php">
Второй вопрос почему если явно прописать путь, то доступ к файлу из
  1. _мойШаблон_/special/
я получаю?
#7 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 23 октября 2019 в 10:17


как это скрыть?

Gordankem
Невозможно скрыть разницу между
sms_send.php и form_sms.php
(и шаблоне _default_).

В консоли Вашего сайта три ошибки —
Страница не найдена — 404
Нет файлов:

/graphics/loader.white.gif
/graphics/zoomout.cur
/graphics/outlines/drop-shadow.png

DeDja
Вопрос в другом, как называются файлы обработки form_sms.php и sms_send.php или мой_файл.php я думаю не имеет значения.
Главное как к нему прописать обращение без указания явного пути. В редакторе админки <?php ?> походу не воспринимается как код.
Основной вопрос прописать обращение без указания явного пути?
#8 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 23 октября 2019 в 10:11


Пустая страница Ошибка 404 и адрес не отрабатывает.
Я прописал это в чистом HTML в коде страницы.
Как отправить данные из формы к крипту PHP

Сработало только в явном виде

Gordankem
Вы шутите?))) прописывать в файл а не в адресную строку как у Вас.

Заралик

Это не ответ.
Я код прописываю на странице, в движке сайта, когда включаю отображение HTML.
#9 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 23 октября 2019 в 06:08
Не срабатывает.
  1. action="/templates/<?php echo TEMPLATE; ?>/special/sms_send.php"
Пустая страница Ошибка 404 и адрес не отрабатывает.
Я прописал это в чистом HTML в коде страницы.


Сработало только в явном виде
  1. action="/templates/_montaj_/special/form_sms.php"
Но это как бы небезопасно считается вроде, как это скрыть?
#10 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 22 октября 2019 в 14:52


он не находится просто

Gordankem
Путь к файлу:
"/templates//special/sms_send.php"

DeDja

Вопрос, в echo TEMPLATE; нужно прописать имя шаблона или оно имя шаблона определяется само?
#1 [ЕСТЬ РЕШЕНИЕ] Как отправить данные из формы к крипту PHP 22 октября 2019 в 14:01
Всем привет. Делаю форму для отправки СМС, написал её на HTML и встроил в код страницы. Механизм такой, после нажатия кнопки Отправить, данные из полей должны передаться в фаил по указанному пути. С этим у меня и проблема, как прописать путь к файлу php. Фаил я положил в папку с шаблоном в каталог /special/
Привожу код формы если кому нужно
  1. <form class="contact_form_phone" method="post" action="../special/sms_send.php">
  2. <ul>
  3. <li><input type="text" placeholder="Степан Васильков" name="sender" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'* Ваше Имя':this.value;" value="* Ваше Имя" class="your-name" required maxlength="16"/></li>
  4. <li><input type="text" placeholder="+7XXXXXXXXXX" name="phone" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'* Ваш Телефон':this.value;" value="* Ваш Телефон" class="phone-address" required pattern="^\+7\d{3}\d{7}$" maxlength="12" /></li>
  5. <li><input type="submit" name="send" value="Отправить" class="send-message" /></li>
  6. </ul>
  7. </form>
Проблема заключается в том, что фаил не вызывается, он не находится просто.
#12 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 1 октября 2019 в 12:19
Задача решена.
#13 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 1 октября 2019 в 12:18
Всё задача решена, меню в виде кругов я сделал, пока шаблон не адаптивный, это буду доводить.


Всем спасибо за помощь, мне она пригодилась. Кому нужно пользуйтесь материалом.
  1.  
  2. {if $item.NSLevel <= 1}
  3. <li class="krug_menu{$item.id} {if ($menuid==$item.id || ($currentmenu.NSLeft > $item.NSLeft && $currentmenu.NSRight < $item.NSRight)) && $item.NSLevel<=1}selected{/if}>">
  4. {/if}
  5. {if $item.NSLevel <= 1}
  6. <a href="{$item.link}" target="{$item.target}" {if $menuid==$item.id}class="selected"{/if} title="{$item.title|escape:'html'}">
  7. {if $item.iconurl}<img src="/images/menuicons/{$item.iconurl}" alt="{$item.title|escape:'html'}" />{/if} <span class="podpisRazd">{$item.title}</span>
  8. </a>
  9. {else}
  10.  
#14 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 1 октября 2019 в 09:53


Может если занимает много времени отказаться от этой идеи ?

@noname

Отказаться нельзя, это необходимо. Я уже реализовал вывод в круг. Сейчас прибавилась другая задача. Как скрыть из пункта меню текст, у меня это Главная монтаж.
#15 [ЕСТЬ РЕШЕНИЕ] Как сделать круговое меню в модуле шаблона на сайте? 1 октября 2019 в 06:08


Gordankem, вот было в закладках, может чем поможет:
/forum/thread11984-1.html#100344

Rainbow

Пасибо за подсказку, это решение мне кажется подходит. Выводятся ID пунктов меню, которые можно классу присвоить и стили для них прописать.
Респект, почёт и уважение. Тема пока актуальна, я ещё не закончил ))
Вот, что на мой взгляд нужно, вывод реальных ID меню
/*--------------*/
  1.  
  2. <li class="color{$item.id} {if ($menuid==$item.id || ($currentmenu.NSLeft > $item.NSLeft && $currentmenu.NSRight < $item.NSRight)) && $item.NSLevel<=1}selected{/if}>"
  3.  
/*--------------*/
Мне подсказывали ещё сделать вывод итераций массива, может это тоже хорошее решение было бы, но я что-то так и не смог это сделать.
Результат
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.