echo a function value wonamp;#39;t pass on a form(回显窗体上未传递的函数值(A;T))
本文介绍了回显窗体上未传递的函数值(&A;T)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
-更新:正在尝试寻找不同的解决方案here, please take a look 我正试图发布一个与隐藏的价值在一个商店平台与支付网关接收价值的表格。 值名称"Order_Total"使用名为"$sum"的php回显来显示要支付的金额:<Input type="hidden" name="sum" value="<?php echo $order_total; ?>">
$sum是读取用户订单ID金额的函数
$order_total = left_to_pay_for_order($oid);
该函数的工作方式如下:
function left_to_pay_for_order($oid)
{
global $wpdb;
$s = "select * from ".$wpdb->prefix."order_contents where orderid='$oid' and paid='0'";
$r = $wpdb->get_results($s);
$total = 0;
if(count($r) > 0)
{
foreach ($r as $row)
{
$total += $row->price * $row->quant;
$shp = get_post_meta($row->pid, 'shipping', true)* $row->quant;
$total += $shp;
}
}
return $total;
}
支付网关接收除$ORDER_TOTAL值之外的所有其他值。
更新!! 传递的值为"0"-您认为可能会发生这种情况吗?我已经测试过了,该函数在发送表单和重定向之前工作,发送前的任何HTML上根据预期结果显示总和,但表单发送值为"0"。
我做错了什么?到处都找遍了。非常感谢您的帮助。
谢谢!!
根据请求,下面是按StackOverflow代码修改的整个表单页面:
<?php
global $wp_query, $wpdb, $current_user;
get_currentuserinfo();
$uid = $current_user->ID;
$user_email = $current_user->user_email;
$business = get_option('Theme_tranzilla_ID');
if(empty($business)) die('ERROR. Please input your tranzilla ID.');
//-------------------------------------------------------------------------
$oid = $_GET['oid'];
$order_total = Theme_left_to_pay_for_order($oid);
$title_post = sprintf(__('Order Payment ID #: %s','Walleto'), $oid);
//---------------------------------
$tm = current_time('timestamp',0);
$cancel_url = get_bloginfo("siteurl");
$response_url = get_bloginfo('siteurl').'/?w_action=tranzila_order_response';
$ccnt_url = Theme_my_account_link();
$currency = get_option('Theme_currency');
?>
<html>
<head><title>Processing Tranzilla Payment...</title></head>
<body onLoad="document.form_mb.submit();">
<center><h3><?php _e('Please wait, your order is being processed...', 'Theme'); ?></h3></center>
<FORM name="form_mb" Action='https://direct.tranzila.com/Terminal_Name/' method='POST'>
<Input type="hidden" name="supplier" value="<?php echo get_option('Theme_tranzilla_ID') ?>">
<Input type="hidden" name="sum" value="<?php echo $order_total; ?>">
<Input type="hidden" name="currency" value="1">
<input type="hidden" name="email" value="<?php echo $user_email; ?>">
</FORM>
</body>
</html>
推荐答案
请告诉我们您在"检查"中看到了什么。POST之前输入中的值是什么。
但是。根据您提供的信息,我认为:
1) You are missing a ; in the end of "echo $order_total" line. Put a ; in the end.
2) It can be some wordpress conflict with the "sum" field name. Try to change to "order_total".
这篇关于回显窗体上未传递的函数值(&A;T)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:回显窗体上未传递的函数值(&A;T)
基础教程推荐
猜你喜欢
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01