Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.12.2013, 10:20
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Спасибо, добрый человек.
Но вылезла другая проблема.
<input type="hidden" name="SignatureValue" value="15758b3447ed1936cdbe5a6d4357584e">

Значение этого поля должно также расчитываться динамически исходя из значений других полей.
Формула расчета такова:
$crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:shpa=$shpa:shpb=$shpb");

Так как мы имеем здесь меняющийся параметр $out_summ в запвисимости от количества, то и значение Signature меняется.
Я думаю строка должна быть записана в виде:
<input type="hidden" name="SignatureValue" value="<?= $crc ?>">

Тогда как мне передать в php расчет переменной $crc; значение $out_summ, которое получается в JS?

Последний раз редактировалось Batyabest, 04.12.2013 в 10:47.
Ответить с цитированием
  #12 (permalink)  
Старый 04.12.2013, 12:20
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Batyabest Посмотреть сообщение
Но вылезла другая проблема.
вы можете сначала передать все данные вашему php-скрипту, обработать их там, а уже затем отправлять далее в ASP:

window.location.href = 'page.php?data'+encodeURIComponent('your data');


или же без перезагрузки страницы используя AJAX и jQuery

<script src="http://yandex.st/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var mes = 'your data';
$.get('page.php', {message:mes}, function(data)	{
	// в data будет хранится ответ сервера; который вы можете снова подставить в необходимые значения полей и по submit() отправить в ASP
});
</script>
Ответить с цитированием
  #13 (permalink)  
Старый 04.12.2013, 12:37
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

На данный момент я сделал так:
На странице товара имеется такой код:
<div id="total-price"></div>
<form action="/stol/pay/pay.php" method="post" id="form_id">
<input type="hidden" name="MrchLogin" value="xxx">
<input type="hidden" name="OutSum" value="">
<input type="hidden" name="InvId" value="0">
<input type="hidden" name="Desc" value="Стол-трансформер">
<input type="hidden" name="IncCurrLabel" value="WMRM">
<input type="hidden" name="Culture" value="ru">
<input type="hidden" name="Encoding" value="utf-8">
<input type="hidden" name="SignatureValue" value="">
<input type="text" name="quantity" value="" size="5"><input type="button" value="Заказать" onClick="func()"><br>
<input type="checkbox" name="sborka"><span> Сборка специалистом интернет-магазина</span><br>
<p>Доставка</p>
<input type="radio" name="dostavka" value="г. Нижний Новгород (нижняя часть города) в течение 5 дней"><span> г. Нижний Новгород (нижняя часть города) в течение 5 дней</span><br>
<input type="radio" name="dostavka" value="г. Нижний Новгород (верхняя часть города) в течение 5 дней"><span> г. Нижний Новгород (верхняя часть города) в течение 5 дней</span><br>
<input type="radio" name="dostavka" value="г. Нижний Новгород (верхняя и нижняя часть города) на следующий день после оформления"><span> г. Нижний Новгород (верхняя и нижняя часть города) на следующий день после оформления</span><br>
<input type="radio" name="dostavka" value="Нижегородская область до 30 км. в течение 5 дней"><span> Нижегородская область до 30 км. в течение 5 дней</span><br>
<input type="radio" name="dostavka" value="За пределами Н.Новгорода от 30 км. (на круг) 12 руб./км 14 руб./км"><span> За пределами Н.Новгорода от 30 км. (на круг) 12 руб./км 14 руб./км</span><br>
<input type="radio" name="dostavka" value="Транспортной компанией"><span> Транспортной компанией</span><br>
<p>Подъем в квартиру</p>
<input type="radio" name="podyem"><span> Подъем стола-транформера в квартиру 100 руб./этаж на <input type="text" name="etazh" size="3"></span><br>
<input type="radio" name="podyem"><span> Подъем стола-транформера на лифте<br>
</form>

function func() {
	document.getElementById("form_id").children[1].value = parseInt(document.getElementById("form_id").children[8].value) * 5000;
	document.getElementById("form_id").submit();
}

По нажатии на кнопку "Заказать" все это дело перенаправляется на страницу /stol/pay/pay.php с уже просчитанными суммами.
Код этой страницы такой:
<?
// 2.
// Оплата заданной суммы с выбором валюты на сайте ROBOKASSA
// Payment of the set sum with a choice of currency on site ROBOKASSA

$mrh_login = "xxx";
$mrh_pass1 = "xxx1";
$inv_id = $_POST['InvId'];
$out_summ = $_POST['OutSum'];
$inv_desc = $_POST['Desc'];


// предлагаемая валюта платежа
// default payment e-currency
$in_curr = "";

// язык
// language
$culture = "ru";

// формирование подписи
// generate signature
$crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1");
// echo $mrh_login, $out_summ, $inv_id, $mrh_pass1;


// форма оплаты товара
// payment form
print "<html>".
      "<form action='http://test.robokassa.ru/Index.aspx' method=get>".
      "<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=IncCurrLabel value=$in_curr>".
	  "<input type=hidden name=Encoding value=utf-8>".
      "<input type=hidden name=Culture value=$culture>".
      "<input type=submit value='Продолжить оплату'>".
      "</form></html>";
?>


Суть вопроса. Мне нужно чтобы:
1. По нажатии первой кнопки (Заказать) открывалась страница pay.php но в модальном окне, а в ней еще были поля для заполнения Имени, телефона и адреса.
2. По нажатии кнопки "Продолжить оплату" (файл pay.php) происходило 2 действия - отправка письма на почту админу с указанием всех данных (Имени, телефона, адреса, самое главное параметров покупки - количества товара и стоимости покупки.) и перенаправление на страницу робокассы (это работает).
3. Куда лучше вынести радио батоны с параметрами доставки? Я думаю они будут уместнее во второй форме (файл pay.php) Они тоже должны уходить на почту.
Ответить с цитированием
  #14 (permalink)  
Старый 04.12.2013, 14:03
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

На данный момент имею вот такой код.
<?

// Оплата заданной суммы с выбором валюты на сайте ROBOKASSA
// Payment of the set sum with a choice of currency on site ROBOKASSA

$mrh_login = "xxx;
$mrh_pass1 = "xxx1";
$inv_id = $_POST['InvId'];
$out_summ = $_POST['OutSum'];
$inv_desc = $_POST['Desc'];

// предлагаемая валюта платежа
// default payment e-currency
$in_curr = "";

// язык
// language
$culture = "ru";

// формирование подписи
// generate signature
$crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1");
// echo $mrh_login, $out_summ, $inv_id, $mrh_pass1;


// форма оплаты товара
// payment form
print 	"<html>".
		"<form action='http://test.robokassa.ru/Index.aspx' method=get>".
		"<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=IncCurrLabel value=$in_curr>".
		"<input type=hidden name=Encoding value=utf-8>".
		"<input type=hidden name=Culture value=$culture>".
		"Ваше имя <input type=text name=nick><br>".
		"Ваш телефон <input type=text name=phone><br>".
		"Адрес доставки <input type=text name=adress><br>".
		"<input type=checkbox name=sborka><span> Сборка специалистом интернет-магазина</span><br>".
		"<p>Доставка</p>".
		"<input type=radio name=dostavka value=г. Нижний Новгород (нижняя часть города) в течение 5 дней><span> г. Нижний Новгород (нижняя часть города) в течение 5 дней</span><br>".
		"<input type=radio name=dostavka value=г. Нижний Новгород (верхняя часть города) в течение 5 дней><span> г. Нижний Новгород (верхняя часть города) в течение 5 дней</span><br>".
		"<input type=radio name=dostavka value=г. Нижний Новгород (верхняя и нижняя часть города) на следующий день после оформления><span> г. Нижний Новгород (верхняя и нижняя часть города) на следующий день после оформления</span><br>".
		"<input type=radio name=dostavka value=Нижегородская область до 30 км. в течение 5 дней><span> Нижегородская область до 30 км. в течение 5 дней</span><br>".
		"<input type=radio name=dostavka value=За пределами Н.Новгорода от 30 км. (на круг) 12 руб./км 14 руб./км><span> За пределами Н.Новгорода от 30 км. (на круг) 12 руб./км 14 руб./км</span><br>".
		"<input type=radio name=dostavka value=Транспортной компанией><span> Транспортной компанией</span><br>".
		"<p>Подъем в квартиру</p>".
		"<input type=radio name=podyem>".
		"<span> Подъем стола-транформера в квартиру 100 руб./этаж на </span>". "<input type=text name=etazh size=3><br>".
		"<input type=radio name=podyem><span> Подъем стола-транформера на лифте<br>".
		"<input type=submit value='Продолжить оплату'>".
		"</form></html>";
?>


Как сделать, чтобы при нажатии на кнопку
<input type=submit value='Продолжить оплату'>
одновременно с переходом на страницу робокассы отправлялось письмо со значениями из формы?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача переменной из JS в PHP и обратно Gregorian Общие вопросы Javascript 5 11.09.2012 16:12
Как вывести содержимое PHP файла с помощью JS? pavdin Серверные языки и технологии 6 22.12.2010 14:16
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
Вызов PHP обработчика из JS Arfey Общие вопросы Javascript 15 07.06.2010 20:28
Дописать JS и PHP валидатор для телефона 3-3-4 conductor3 Работа 1 11.05.2010 00:01