0

設定しようとしているサイトに販売ページがあります。

私が釘付けにしようとしている支払いプロセスはこれです:

販売ページが読み込まれ、iframeに情報フォームが表示され、顧客がフォームに入力して[送信]をクリックします。次にiframeのみが再読み込みされ、2番目のiframe(支払い処理業者のiframe)につながります。

支払いが正常に行われると、顧客は(まだiframe内で)正常な支払いページに送られます。支払い処理業者は、URLにいくつかの追加の文字列を追加します。その後、これらの文字列をメッセージにコンパイルして、電子メールとして私に送信する必要があります。

フォームiframeと支払い処理業者を正常に作成して呼び出すことができますが、2つを接続して、3つ目を作成する方法に苦労しています。

どんな助けでもありがたいです-私はphpの学習者であり、深いところに夢中になっているので、事前に申し訳ありません!

これをすべて1つのphpページ内で実行することは可能でしょうか、それとも私が最善を尽くしている方法ですか?

ありがとう

4

1 に答える 1

0

iFrameは決してきれいではありません。AJAXを使用してiframeと同じ結果を達成してみませんか?

iFrameを使用したい場合、何が難しいのでしょうか。URL変数の転送?

編集:

標準のURL形式でiframeを介して変数を転送できるはずです。

<iframe src="landing_page.php?var=str&var2=str2" name="frame_name"></iframe>

次に、「landing_page.php」は「get」メソッドを使用してこれらの変数を呼び出すことにより、これらの変数にアクセスできます。

<?php
      echo $_GET['var'];
      echo $_GET['var2'];
?> 

または、(私が想定している)をクリックしてiframeを変更しているので、次の方法で同じ結果を得ることができます。

<a href="landing_page.php?var=str&var2=str2" target="frame_name">Click to load new iframe</a>

また、「landing_page.php」は以前と同じメソッドでアクセスできます。

ただし、iframeがほとんど古くて不要であるという理由だけで、AJAXを使用することをお勧めします。AJAXとブラウザの互換性に関する問題はまだ発生していません。それが希望するルートである場合は、jqueryライブラリを使用してすばやく起動して実行することをお勧めします。興味がある場合、またはiframeに問題がある場合は、お知らせください。

編集2:

したがって、確認ページでphp $ _GETメソッドを使用してこれらのURL変数にアクセスし、メールを使用して電子メールを送信できるはずです。例を以下に示します(作成したものをURLの実際の変数名に置き換えてください)。

//retrieve 'email' var from url
$to = $_GET['email'];

//enter title of email
$subject = 'Your Payment Confirmation';

//create your message and retrieve 'name' and 'amount' var from url
$msg = "Thank you, ".$_GET['name']."! Your payment of ".$_GET['amount']." 
        was approved!";

//if you want to have a custom "FROM" in the email header
$headers = 'From: somename@example.com';

//send mail to customer
mail($to,$subject,$msg,$headers);

//send to yourself as well
mail('youremail@domain.com',$subject,$msg,$headers)

注:ローカルホストでこれをテストしている場合は、ローカルサーバーでメール機能を有効にする必要があります。そうしないと、メールが送信されません。

編集3:

explodeを使用して、区切り文字としてセミコロンを使用してNotevarを解析します。次に、値の配列が作成されます。例えば:

//explode the note var from url
$vars = explode(';', $_GET['Note']);

//echo values of $vars array
for($i=0; $i<count($vars); $i++) {
      echo $vars[$i]. '</br>';
}
于 2012-04-14T01:54:28.143 に答える