使用 PHP 函数 return 来自 onSubmit 的值作为 HTML 表单中的变量

Use PHP function return value from onSubmit as a variable within in action for an HTML Form

所以我有这样的东西(为简单起见,准系统):

<?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()方法显然有额外的消息和逻辑以防支付失败等

我的问题是,无论我在 processPayment() 函数中设置 $paymentResult 什么,它总是传递 'Unknown' 作为值 当我在 checkout_s.php.

上回显 $_REQUEST['result']; 时 post 变量

我非常有信心正确使用全局变量。有人可以就如何正确修改代码或提供其他方法提供建议吗?我不想将信用卡信息作为 post 变量传递,所以我在同一页面上处理它。我只想将交易结果传递给操作页面。

您的 onsubmit 有问题。 onsubmit 上的值应该是 javascript,但是你把 processPayment() php 函数放在里面。

PHP 函数应该在 php 声明中。将 onsubmit 值更改为此值。

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