Итак, у меня есть что-то вроде этого (barebone для простоты вопроса):
<?php
$paymentResult = 'Unknown';
function processPayment(){
// Process all payment values from form1 and retrieve the result of the transaction.
$GLOBALS['paymentResult'] = 'Your payment was completed successfully!';
}
?>
<form name="form1" method="POST" onsubmit="return processPayment();" action="<?php echo 'checkout_s.php?result=' . $paymentResult; ?>">
<!--Additional Credit Card Payment Controls-->
<input type="submit" value="Process Payment">
</form>
processPayment()
Метод, очевидно, имеет дополнительные сообщения и логику в случае сбоя платежа и т. д.
Мой вопрос, независимо от того, что я установил $paymentResult
с точностью до processPayment()
функция всегда передает «Неизвестно» как значение
переменная post, когда я повторяю $_REQUEST['result'];
на checkout_s.php.
Я уверен, что правильно использую глобальную переменную. Может кто-нибудь предложить совет о том, как правильно изменить код или предложить дополнительный метод? Я не хочу передавать информацию о кредитной карте как переменную записи, поэтому я обрабатываю ее на той же странице. Все, что я хочу сделать, это передать результат транзакции на страницу действий.
Что-то не так в вашем onsubmit
, Значение на onsubmit
должно быть о JavaScript, но вы положили processPayment()
Функция PHP в этом.
Функция PHP должна быть внутри объявления php. Изменить onsubmit
значение в этом.
onsubmit="return <?php processPayment(); echo $paymentResult; ?>;"
Других решений пока нет …