使用onSubmit中的PHP函数返回值作为HTML表单的实际操作中的变量



所以我有这样的东西(为了简化问题,基本上是这样(:

<?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变量

我很有信心我正确地使用了全局变量。有人能就如何正确修改代码或提供额外的方法提供建议吗?我不想把信用卡信息作为后变量传递,所以我在同一页上处理它。我所要做的就是将事务的结果传递到操作页面。

您的onsubmit中有问题。onsubmit上的值应该是关于javascript的,但您在其中放入了processPayment()php函数

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

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

最新更新