13

ユーザーがフォームを送信すると、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;
4

8 に答える 8

24

まず、を使用して$_GETHTTP変数をクエリ文字列に変換します

$query = http_build_query($_GET);

次に、クエリ文字列変数をリダイレクトヘッダーに追加します

header('location: domain.com'."?".$query);

終わり。

于 2013-04-19T22:05:06.743 に答える
16
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'];

....等

于 2012-08-03T21:15:27.600 に答える
10

それらをセッションに保存する必要はありません。ロケーションヘッダーを使用して簡単に渡すことができます。

$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);

確認済みの.phpでは、これらの変数を$_GETメソッドで取得できます。

于 2012-08-03T21:30:06.017 に答える
3

将来これを読んでいる人は、この種の変数値の転送にセッションを使用してください。主にヘッダーに変数を追加することに依存している場合、ユーザーがまだそのフォームを使用していて、ヘッダーの値を変更するアクションを実行すると、独自の変数値はヘッダーに依存するため変更されます......簡単に言えば、USESESSIONSです。

于 2014-06-15T21:13:43.043 に答える
2

それらをセッションに保存します:

 $_SESSION['fname'] = $_GET['name'];

session_start各ファイルの先頭で使用します。

于 2012-08-03T21:12:29.433 に答える
2

これを試して。それは私にとって完璧に機能しました。

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');
};
于 2017-06-13T11:19:26.143 に答える
1

最善の方法は、すべてのPOST変数を次のようなセッションに配置することです。

page1.phpに置く:

//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に置く:( page1.phpでフォーム付きの自己送信を使用しaction="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>、次にaを使用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']);

すべてのフォーラムがそれを間違っているか不完全であると言ったので、私は文字通りそれを理解するのに何時間も費やしました。

これで、たとえば、page1.phpから渡した変数を次のように呼び出すだけで簡単になります。これで完了です<b>Points: </b><?php echo $points; ?>

header('Location: page2.php');条件などに配置するときifは、ページの最初のPHPスクリプト内で、HTML出力の上にあることを確認してください。

于 2015-01-09T03:51:14.653 に答える
0

この作品はこのsentexを使用します

header('location:member_dashboard.php?id='。$id);

于 2016-05-04T10:27:57.963 に答える