我正在创建一个网站,可以让我们使用Paypal提供的交易功能。
为了让网站完美运作,我正在使用沙盒帐户进行开发。
现在有两个名为return和cancel_return的参数。当交易成功完成时,paypal网站将其重定向到返回参数中提到的页面,否则返回cancel_return参数。但是网页不是重定向。点击返回链接到网页显示错误。
我的代码success.php
<?php
define("DB_HOST", "localhost");
define("DB_USERNAME", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "test");
$connect = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD) or
die("Database Connection Error");
mysql_select_db(DB_DATABASE) or ("Database Selection Error");
session_start();
$uid = $_SESSION['uid'];
$username=$_SESSION['username'];
$item_no = $_GET['item_number'];
$item_transaction = $_GET['tx'];
$item_price = $_GET['amt'];
$item_currency = $_GET['cc'];
//Getting product details
$sql=mysql_query("select product,price,currency from products where pid='$item_no'");
if($sql === FALSE) {
die(mysql_error()); // TODO: better error handling
}
$row=mysql_fetch_array($sql);
$price=$row['price'];
$currency=$row['currency'];
//Rechecking the product details
if($item_price==$price && $item_currency==$currency)
{
$result = mysql_query("INSERT INTO sales(pid, uid, saledate,transactionid)
VALUES('$item_no', '$uid', NOW(),'$item_transaction')");
if($result){
echo "<h1>Welcome, $username</h1>";
echo '<h1>Payment Successful</h1>';
}else{
echo "Payment Error";
}
}
else
{
echo "Payment Failed";
}
?>
它不会保存到数据库中并显示错误
Undefined index: item_number in C:\wamp\www\mvc\view\success.php on line 13
Undefined index: tx in C:\wamp\www\mvc\view\success.php on line 14
Undefined index: amt in C:\wamp\www\mvc\view\success.php on line 15
Undefined index: cc in C:\wamp\www\mvc\view\success.php on line 16
由于
答案 0 :(得分:1)
这是一个通知错误。 这意味着你的一些$ _GET变量没有设置。
摆脱此错误消息的一个示例是切换分配变量的方式......例如
$item_no = isset($_GET['item_number']) ? $_GET['item_number'] : null;
您也可以通过更改php.ini中的变量error_reporting来禁用通知,但不建议在开发计算机上使用