Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2016, 19:18   #1
Enamy
 
Регистрация: 17.12.2016
Сообщений: 6
По умолчанию [РЕШЕНО] Как получить MD5-хеш значения, введённого пользователем, на той же странице, без перехода куда-либо и перезагрузки страницы.

Доброго времени суток, товарищи профи помогите новичку, перерыл весь гугл, хоть убей не могу найти решение моей проблемы.
У меня есть скрипт html внутри PHP файла, что в принципе не важно. я задаю в части по хтмл параметры input и select которые пользователь вводит на сайте, далее мне надо создать в этом же файле переменную которая кодируется в MD5 и содержит то что пользователь ввел в эти параметры input и select. Т.е. мне надо конкретно внутри самого файла взять параметры значений name, не переходя никуда более ни в какие другие файлы, не передавая данные в другие файлы методами пост и гет, а именно использовать их внутри текущего файла.

Код:
<html>
<body>

<select name="gold"> - тут выбор value поместится в name(gold)

  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

<?php 
$mrh_login = "shop";

$out_summ = ? ;  - а тут мне надо значение из этого name поместить в эту переменную.

$inv_id = 0;
$mrh_pass1 = "pass1";

$crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1");
?>

<input type="hidden" name="MerchantLogin" value="<?php echo $mrh_login;?>"/>
<input type="hidden" name="InvId" value="<?php echo $inv_id;?>"/>
<input type="hidden" name="OutSum" value="<?php echo $out_summ;?>"/>
<input type="hidden" name="SignatureValue" value="<?php echo $crc;?>"/>
<input type=submit value=Ok>
</body>
</html>
Решение:
http://www.programmersforum.ru/showp...30&postcount=6

Последний раз редактировалось Вадим Мошев; 12.05.2018 в 19:08.
Enamy вне форума Ответить с цитированием
Старый 18.12.2016, 00:06   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Клиентский JS не умеет в md5, так что тебе в любом случае придется создавать отдельный файл для этого.
Просто это можно сделать без перезагрузки страницы, посредством AJAX.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 18.12.2016, 01:07   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Клиентский JS не умеет в md5
а "научить" сложно что ли?)

этот форум хеширует пароль на клиенте при логине. (10 лет назад HTTPS видимо был редкостью)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.12.2016, 01:09   #4
Enamy
 
Регистрация: 17.12.2016
Сообщений: 6
По умолчанию

спс, решил по другому, путем перенаправления через ПХП, решение найдено.
Enamy вне форума Ответить с цитированием
Старый 18.12.2016, 13:12   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Enamy Посмотреть сообщение
спс, решил по другому, путем перенаправления через ПХП, решение найдено.
Расскажите подробнее о том, как вы это сделали, с публикацией кода. Это будет полезно остальным.
Вадим Мошев вне форума Ответить с цитированием
Старый 20.12.2016, 12:03   #6
Enamy
 
Регистрация: 17.12.2016
Сообщений: 6
По умолчанию

Оформил ту часть что по хтмл только в хтмл файле, с выводом формой методом пост значений в инпуте и селекте(думаю не нужно объяснять как) в файл формата .php
В этом пхп файле сделал прием присланных значений инпут и селект в переменные(тобиш $name) которые потом обработал проверил и использовал по своим нуждам(конкретно мне надо было сделать МД5 хеш. т.е. $crc = md5("$name:$login:$pass_1" и т.д.) после чего тем же методом пост отправил данные в конечный адрес, а завершил все это(после окончания ПХП кода) такой вод фичей которую мне подсказали и которая и была нужна для решения моей задачи.
Код:
<script type="text/javascript">
document.forms["test"].submit();
</script>
это авто выполнение этого ПХП скрипта, безж каких либо нажатий кнопок и т.д. Как только данные пришли, ПХП запустился, обработался, исполнился и отправил результат дальше. По сути все делается так быстро что вы не заметите что он был между вами и конечным адресом.
В итоге в ПХП приблизительно такой код
Код:
<?php
// данные со страницы пополнения
$tm=getdate(time()-1*3600); //текущее время
$time="$tm[mday].$tm[mon].$tm[year] $tm[hours]:$tm[minutes]:$tm[seconds]"; // форматирование времени
$username = $_POST["username"]; // уникальный номер игрока
$server = $_POST["server"]; // игровой сервер
$name = $_POST["name"]; // введенное игроком имя
$login = "xxxxxx"; // логин
$summ = $_POST["money"]; // сумма пополнения(рубли)
$id = 0; // номер заказа(0 - авто)
$mrh_pass1 = "xxxxxxxxx"; // пароль #1
desc = "$name, $server, $out_summ RUB"; // описание заказа

// формирование подписи
$crc  = md5("login:$summ:$id:$mrh_pass1");
print  
"<html>".
"<form name=test action='https://exemple.com' method=POST>".
"<input type=hidden name=MerchantLogin value=$login>".
"<input type=hidden name=OutSum value=$summ>".
"<input type=hidden name=InvId value=$id>".
"<input type=hidden name=Description value='$desc'>".
"<input type=hidden name=SignatureValue value=$crc>".
"</form></html>";
?>
<script type="text/javascript">
document.forms["test"].submit();
</script>

Последний раз редактировалось Enamy; 20.12.2016 в 12:08.
Enamy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощ vlad777dv Помощь студентам 5 20.12.2010 13:59