2016-03-19 47 views
0

私はphp、mysqlを使用してショッピングカートを行い、支払いの統合はCCAvenueとなります。 URLをリダイレクトする以外はすべて実行されます。指定されたURLにリダイレクトされますが、注文IDは取得されません。サンプルコードは、同じ出力、URLをPHPでリダイレクト

$orderID=100 (unique ID fetched from database) 
$orderID="AB".$orderID; // Prefixing alphabet to the orderID 

が//今$のorderIDがAB100だろう、私が印刷され、チェックアウトページから

//以下の通りです。 ccavRequestHandler.phpや店舗のorderIDと、そのような私がここで言及していないなど、顧客名、住所などの顧客のその他の詳細に移動します上記のフォームを提出する

echo '<form method="POST" name="customerData" action="ccavRequestHandler.php">'; 
echo <input type="hidden" name="redirect_url" value="http://mywebsite.com/success.php?orderno="'.$orderID.'"/>'; 
echo '<input type="submit" name="subOrder" value="Confirm and Pay"/>';    
echo '</form>'; 

//。商人のウェブサイトへのURLをリダイレクトしながら

//成功ページからhttp://mywebsite.com/success.php?orderno=AB100

//でなければなりません、私は$ _GET方法

//成功を通じてバックURLからのorderIDを取得しようとしています。 PHPコードは

$selItem=0; 
    if(isset($_GET["orderno"])) { 
    $selItem='KP'.$_GET["orderno"];  
    echo "<br>";             
    $squery_images= "select * from orders where order_id=$selItem"; 
    } 

以下の通りです。しかし問題は、URLに私は

http://mywebsite.com/success.php?orderno= 
を取得していますされます

の代わりに、それのために

http://mywebsite.com/success.php?orderno=AB100 

は私がのorderIDを取得することができません。私は何が間違っているのか分からない。それを修正するのを助けてください。 urlencodeを使用してURLへ

echo '<input type="hidden" name="redirect_url" 
     value="http://mywebsite.com/success.php?orderno='.urlencode($orderID).'/>'; 

埋め込み変数によって

echo "<input type='hidden' name='redirect_url' value='http://mywebsite.com/success.php?orderno=' ".$orderID." />"; 
+0

'$ orderid'と' die() 'を' echo 'した場合の表示は何ですか?それは空ですか?またはオーダーIDを印刷しますか? –

+0

echo $ orderid;チェックアウトページにAB100が表示されていますが、これは正しいです。しかし、成功のページだけには何も表示されません。 – Rajesh

答えて

1

変更ライン

echo <input type="hidden" name="redirect_url" 
     value="http://mywebsite.com/success.php?orderno="'.$orderID.'"/>'; 

とリンクを構築するために、適切な追記演算子を使用します。

+0

こんにちは、私はURL orderno = '。$ orderID。' "/> 'の中で一重引用符と二重引用符を変更しました。それは動作します – Rajesh

+0

素晴らしい........... – ELITE

-1

試してみます。 orderno="'.$orderID.'"を使用しました。実行時にorderno="AB1290"に変換されます。

+0

これを試しました。動作しませんでした。まだ同じ問題があります – Rajesh

関連する問題