----ОБНОВЛЕНИЕ: пытаюсь найти другое решение здесь, пожалуйста, посмотрите ------- Я Я пытаюсь опубликовать форму со скрытыми значениями на платформе магазина с платежным шлюзом для получения значений. Имя значения «Order_Total» использует php-эхо с именем «$sum» для отображения суммы для оплаты следующим образом:
<Input type="hidden" name="sum" value="<?php echo $order_total; ?>">
$sum — это функция, которая считывает сумму идентификатора заказа пользователя.
$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>
var_dump()
для всех переменных в функции, пока не найдете ошибку. - person Sverri M. Olsen   schedule 01.01.2015if(count($r)) {...
заявление достигнуто? - person Darren   schedule 05.01.2015