-3

Paypal の取引機能を利用できるウェブサイトを作成しています。

繰り返しになりますが、Web サイトが完全に機能するために、開発にはサンドボックス アカウントを使用しています。

現在、return と cancel_return という 2 つのパラメーターがあります。トランザクションが正常に完了すると、ペイパルのウェブサイトは戻りパラメーターで指定されたページにリダイレクトします。それ以外の場合は、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

ありがとう

4

1 に答える 1

1

これは通知エラーです。これは、$_GET変数の一部が設定されていないことを意味します。

このエラーメッセージを取り除く例は、変数の割り当て方法を切り替えることです...など

$item_no = isset($_GET['item_number']) ? $_GET['item_number'] : null;

php.iniの変数error_reportingを変更して通知を無効にすることもできますが、これは開発マシンでは推奨されません

于 2012-09-06T13:53:01.657 に答える