ユーザーがフォームを送信すると、AweberからGET文字列で値を受け取ります。送信する変数を受け取り、SMSゲートウェイに送信して、サードパーティに送信をテキストメッセージで通知します。
これが私の問題です。 phpヘッダー内の発信SMSコマンドを実行するページを、Aweberから送信されたGET変数を最終的に表示する別のページにリダイレクトする必要があります。
最初のページで変数とその値を取得できます。それらを2番目のページに渡すにはどうすればよいですか?
Aweberから送信された変数を収集するために最初のページ(sms.php)で使用しているコードは次のとおりです。
$fname = $_GET['name'];
$femail = $_GET['email'];
$fphone = $_GET['telephone'];
....etc
header('Location: confirmed.php');
exit;
session_start();
$_SESSION['fname'] = $_GET['name'];
$_SESSION['femail'] = $_GET['email'];
$_SESSION['fphone'] = $_GET['telephone'];
....etc
header('Location: confirmed.php');
次のページで入手してください:
session_start();
$fname = $_SESSION['fname'];
$femail = $_SESSION['femail'];
$fphone = $_SESSION['fphone'];
....等
最初に$_GET
HTTP変数をクエリ文字列に変換します
$query = http_build_query($_GET);
次に、リダイレクト文字列にクエリ文字列変数を追加します
header('location: domain.com'."?".$query);
できた.
セッションに保存する必要はありません。ロケーションヘッダーで簡単に渡すことができます。
$fname = $_GET['name'];
$femail = $_GET['email'];
$fphone = $_GET['telephone'];
//now a header with these var's:
header("Location: confirmed.php?name=".$fname."&email=".$femail."&telephone=".$fphone);
Confirm.phpでは、これらの変数を$ _GETメソッドで取得できます。
これを試して。それは私にとって完璧に機能しました。
if ($_GET)
{
$query = str_replace("%3D", "=", str_replace("%26", "&", strval(urlencode(http_build_query($_GET)))));
header('location: https://www.example.com'.'?'.$query);
}
else
{
header('location: https://www.example.com');
};
将来これを読んでいる人は、この種類の変数値転送にセッションを使用してくださいヘッダーに依存するため、独自の変数値が変更されます......簡単に言えば、USE SESSIONSです。
できる最善の方法は、すべてのPOST変数を次のようなセッションに入れることです。
page1.phpにput:
//Start the session
session_start();
//Dump your POST variables
$_SESSION['post-data'] = $_POST;
そしてpage2.phpで:(page1.phpで通常のPOSTフォーム送信action="page2.php
"を使用する場合)
//Start the session
session_start();
//Access your POST variables
foreach ($_POST as $key => $value) {
${$key} = $value;
$_SESSION[$key] = $value;
}
//Unset the useless session variable
unset($_SESSION['post-data']);
またはpage2.phpでput:(page1.phpでaction="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>
の形式の自己送信を使用し、header("Location: page2.php");
を使用してpage2.phpに移動して、POSTセッション経由で変数を渡します)
//Start the session
session_start();
//Access your POST variables
$_POST = $_SESSION['post-data'];
foreach ($_POST as $key => $value) {
${$key} = $value;
$_SESSION[$key] = $value;
}
unset($_SESSION['post-data']);
すべてのフォーラムが間違っているか不完全であるため、私は文字通りそれを理解するのに何時間も費やしました。
これで、たとえば<b>Points: </b><?php echo $points; ?>
のように、page1.phpから渡した変数を呼び出すだけで簡単になりました。
header('Location: page2.php');
をif
状態などに置くときは、それがページの最初のPHPスクリプトおよびHTML出力の上にあることを確認してください。
これはこのセンテックスを使用します
header( 'location:member_dashboard.php?id ='。$ id);