Используйте функцию PHP, возвращающую значение из onSubmit в качестве переменной в действии для формы HTML

Итак, у меня есть что-то вроде этого (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.

Я уверен, что правильно использую глобальную переменную. Может кто-нибудь предложить совет о том, как правильно изменить код или предложить дополнительный метод? Я не хочу передавать информацию о кредитной карте как переменную записи, поэтому я обрабатываю ее на той же странице. Все, что я хочу сделать, это передать результат транзакции на страницу действий.

-3

Решение

Что-то не так в вашем onsubmit, Значение на onsubmit должно быть о JavaScript, но вы положили processPayment() Функция PHP в этом.

Функция PHP должна быть внутри объявления php. Изменить onsubmit значение в этом.

onsubmit="return <?php processPayment(); echo $paymentResult; ?>;"
-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]