Новичок
Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
[+]
|
Всем привет.
Пот скрипт который при покупке товара должен вносить данные покупателя в базу.
После покупки на страницу возвращается но добавлять данные в таблицу не хочет.
Подскажите как можно определить ошибку.
Вот нужный листинг.
PHP:
скопировать код в буфер обмена
<?PHP include('db_fns.php'); $paypal_email = "ruslanlizogub@maail.ru"; $paypal_currency = 'USD'; $shipping = 10.00; function no_paypal_trans_id($trans_id) { $connection = db_connect(); if ($num_results == 0) { return true; } return false; } function payment_amount_correct($shipping, $params) { $amount = 0.00; for ($i=1; $i <= $params['num_cart_items'] ; $i++) { if ($result) { $amount += $item_price * $params["quantity($i)"]; } } if(($amount+$shipping) == $params['mc_gross']) { return true; } else { return false; } } function create_order($params) { db_connect(); $query = sprintf("INSERT INTO orders set orders.firstname = '%s', orders.lastname = '%s', orders.email = '%s', orders.country = '%s', orders.address = '%s', orders.city = '%s', orders.zip_code = '%s', orders.state = '%s', orders.status = '%s', orders.amount = '%s', orders.paypal_trans_id = '%s', created_at = NOW() ", ); if(!$result) { return false; } for ($i=1; $i <= $params['num_cart_items'] ; $i++) { $product = find_product($params["item_number{$i}"]); INTO items set order_id = '%s', product_id = '%s', title = '%s', price = '%s', qty = '%s' ", ); if(!$result) { return false; } } return true; } // read the post from PayPal system and add 'cmd' $req = 'cmd=_notify-validate'; foreach ($_POST as $key => $value) { $req .= "&$key=$value"; } // post back to PayPal system to validate $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; $fp = fsockopen ('www.sandbox.paypal.com', 80 , $errno, $errstr, 30 ); // assign posted variables to local variables $item_name = $_POST['item_name']; $item_number = $_POST['item_number']; $payment_status = $_POST['payment_status']; $payment_amount = $_POST['mc_gross']; $payment_currency = $_POST['mc_currency']; $txn_id = $_POST['txn_id']; $receiver_email = $_POST['receiver_email']; $payer_email = $_POST['payer_email']; if (!$fp) { // HTTP ERROR } else { fputs ($fp, $header . $req); $res = fgets ($fp, 1024 ); if (strcmp ($res, "VERIFIED") == 0 ) { if ($_POST['payment_status'] == 'Completed' && no_paypal_trans_id($_POST['txn_id']) && $paypal_email == $_POST['receiver_email'] && $paypal_currency == $_POST['mc_currency'] && payment_amount_correct($shipping, $_POST) ) { // process payment create_order($_POST); } } else if (strcmp ($res, "INVALID") == 0) { // log for manual investigation } } } ?>
Должна выполнятся функция , но чота не хочет.
|