Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将onSubmit中的PHP函数返回值用作HTML表单中的变量_Php_Html_Forms_Action_Onsubmit - Fatal编程技术网

将onSubmit中的PHP函数返回值用作HTML表单中的变量

将onSubmit中的PHP函数返回值用作HTML表单中的变量,php,html,forms,action,onsubmit,Php,Html,Forms,Action,Onsubmit,为了问题的简单性,我有这样一个简单的问题: <?php $paymentResult = 'Unknown'; function processPayment(){ // Process all payment values from form1 and retrieve the result of the transaction. $GLOBALS['paymentResult'] = 'Your payment was completed

为了问题的简单性,我有这样一个简单的问题:

<?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'作为 回显$_请求['result']时的post变量;关于checkout_.php


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

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

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

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

啊,太蠢了。有时候一个人只需要另一双眼睛。谢谢你,大卫。很高兴我能帮忙。有时会忽略一些小错误。您是否真的用相同的名称命名javascript和PHP函数,或者您是否混淆了客户端和服务器端代码,并假设onsubmit=return processPayment会以某种方式触发PHP函数?可能是重复的,它们是相同的名称。