Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
2 / 2 / 0
Регистрация: 13.09.2013
Сообщений: 48

Генерирование MD5 в режиме реального времени

05.04.2017, 14:15. Показов 1765. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть HTML форма, в которой вводятся параметры, передаваемый из переменных php - эта часть работает. но проблема в том. что при загрузке часть полей пустая, что негативно сказывается на корректности генерирования md5 для отправки значений в робокассу
Собственно сама форма:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
    $mrh_login = "login";
    $mrh_pass1 = "pass";
    $Email = trim($_GET["mail"]);
    $inv_desc = "Оплата услуг";
    $out_summ = trim($_GET["DefaultSum"]);
    $inv_id = 0;
    $culture = "ru";
    $shp_a = trim($_GET["psh-a"]);
    $shp_b = trim($_GET["psh-b"]);
    $encoding = "utf-8";
    $inv_id = 0; 
    $crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:shp_a:$shp_b");
    print(
        "<html>".
   "<form action='https://auth.robokassa.ru/Merchant/Index.aspx' method=POST>".
                        "<input type='hidden' name='MrchLogin' value='$mrh_login'>".
                        "<input type='text' name='psh-a' value='' placeholder='Название УК или ТСЖ' required>".
                        "<input type='text' name='psh-b' value='' placeholder='Номер телефона' required>".
                        "<input type='text' name='mail' placeholder='E-mail' (необязательное поле)>".
                        "<input type='number' name='Out_summ' value='$out_summ'>".
                        "<input type='hidden' name='Culture' value='$culture'>".
                        "<input type='hidden' name='Email' value='$Email'>".
                        "<input type='hidden' name='SignatureValue' value='$crc'>".                     
                        "<input type='submit' value='Оплатить'>".
 "</form></html>"
   );
?>
само поле, в которое генерируется md5 php-скриптом: <input type='hidden' name='SignatureValue' value='$crc'>

Как реализовать генерацию MD5, при изменении значения полей?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.04.2017, 14:15
Ответы с готовыми решениями:

Не обрабатывается скрипт в режиме реального времени
Привет! У меня есть страничка http://hobbylife-market.ru/kabinet/korzina - если добавить туда товары и изменять количество, то стоимость...

Выполнение jquery в режиме реального времени
Есть скрипт который определяет ширину и и сходя из этого подгоняет мин и макс. кол-во элементов в слайдере. Вот как выглядит JQUERY: ...

Отображение содержимого mysql в режиме реального времени
Доброго времени суток. Есть php: &lt;html&gt; &lt;head&gt; &lt;title&gt;Action&lt;/title&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; ...

9
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
05.04.2017, 15:19
Alex Unknow, Может быть клиент будет отправлять запрос на ваш сервер, там вы сформируете хэш и отправите запрос в робокассу уже со стороны сервера?
1
2 / 2 / 0
Регистрация: 13.09.2013
Сообщений: 48
05.04.2017, 15:30  [ТС]
вот сижу и думаю об реализации через ajax, после нажатия на кнопку "оплатить", через php обработку сделать. по типу отправки сообщения на email из формы
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
05.04.2017, 15:35
Alex Unknow, Можно и так сделать. Не вижу никаких препятствий)
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
05.04.2017, 15:50
можно яваскриптом хеши считать http://pajhome.org.uk/crypt/md5/ кириллицу нормально жует, результаты аналогичны функции php md5()
0
2 / 2 / 0
Регистрация: 13.09.2013
Сообщений: 48
05.04.2017, 16:41  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
Alex Unknow, Можно и так сделать. Не вижу никаких препятствий)
Не получилось. точнее работает, но происходит переброс на страницу - https://auth.robokassa.ru/Merchant/index.aspx.

Похоже что-то не так сделал

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$mrh_login = "log";
    $mrh_pass1 = "pass";
    $Email = trim($_GET["email"]);
    $inv_desc = "Оплата услуг";
    $out_summ = trim($_GET["DefaultSum"]);
    $culture = "ru";
    $shp_a = trim($_GET["psh-a"]);
    $shp_b = trim($_GET["psh-b"]);
$crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:shp_a=$shp_b");
 
  print
   "<html>".
   "<form action='https://auth.robokassa.ru/Merchant/Index.aspx' method=POST>".
   "<input type=hidden name=MrchLogin value=$mrh_login>".
   "<input type=hidden name=OutSum value=$out_summ>".
   "<input type=hidden name=InvId value=$inv_id>".
   "<input type=hidden name=Desc value='$inv_desc'>".
   "<input type=hidden name=SignatureValue value=$crc>".
   "<input type=hidden name=Shp_item value='$shp_a'>".
   "<input type=hidden name=IncCurrLabel value=$in_curr>".
   "<input type=hidden name=Culture value=$culture>".
   "<input type=hidden name=Email value=$Email>".
   "</form></html>";
?>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
$(document).ready(function () {
    $("form").submit(function() {
        $.ajax({
            type: "GET",
            url: "/script/robo.php",
            data: $("form").serialize()
        }).done(function() {
            alert("Спасибо за обращение! В ближайшее время мы ответим Вам.");
            $("form")[0].reset();
        });
        return false;
    });
});
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
05.04.2017, 20:38
Цитата Сообщение от Alex Unknow Посмотреть сообщение
Не получилось. точнее работает, но происходит переброс на страницу - https://auth.robokassa.ru/Merchant/index.aspx.
Это так и должно быть, а после оплаты вернет на сайт
0
2 / 2 / 0
Регистрация: 13.09.2013
Сообщений: 48
05.04.2017, 20:57  [ТС]
Цитата Сообщение от alpex Посмотреть сообщение
Это так и должно быть, а после оплаты вернет на сайт
Сори, опечатался, не заметил.

Не получилось. точнее работает, но не происходит переброс на страницу - https://auth.robokassa.ru/Merchant/index.aspx.
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
05.04.2017, 21:03
Я когда тоже пытался сделать что то похожее, но так и не сделал).
А сейчас мне кажется что можно сделать так - при клике по кнопке оплатить, отправляем форму на сервер через аякс, откуда должна вернуться форма, с заполнеными данными, далее вставляем ее на страницу и через js сабмитим

Теоретически все должно работать
0
2 / 2 / 0
Регистрация: 13.09.2013
Сообщений: 48
06.04.2017, 08:27  [ТС]
Цитата Сообщение от alpex Посмотреть сообщение
А сейчас мне кажется что можно сделать так - при клике по кнопке оплатить, отправляем форму на сервер через аякс, откуда должна вернуться форма, с заполнеными данными, далее вставляем ее на страницу и через js сабмитим
Это все здорово, но есть 2 проблемы:

1) К сожалению, я не знаю как это реализовать (Больше дизайном занимаюсь, чем программированием).
2) Не будет ли проблема с кодировками? В гугле нашел, что js пересылает все данные в unicode, что пагубно влияет на генерацию хэша мд5. Нужно конвертировать значения из Unicode в CP1251. Или я не так понял?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.04.2017, 08:27
Помогаю со студенческими работами здесь

Извлечение значения input на js в режиме реального времени
Доброго времени суток, форумчане. Возникла одна проблема - необходимо при изменении значения &lt;input type=&quot;range&quot;&gt; ...

Отображение введенного текста в режиме реального времени
Нужно сделать, чтобы введенный в textarea текст, сразу же отображался в соответствующем поле. Как это осуществить? Поля ввода...

Меняющийся в режиме реального времени индикатор загрузки
Здравствуйте! Возникла проблема с индикатором. Есть некий код к примеру //соединение с бд и тд.... $widthhp=$param; echo&quot; ...

Обновление статус бара в режиме реального времени
Есть переменная $hpproc отвечающая за ширину статус бара. &lt;div class=&quot;progress progress-striped active&quot;&gt; &lt;div...

Калькулятор реального времени
Срочно нужен код калькулятора который считает в реальном времени т.е. есть два поля, в первое мы вводим выражение, например &quot;2 +...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru