ヘッダー関数を使用して、php ファイルから別の php ファイルにデータを渡そうとしています。そのように:
header("location:login.php?userName=$username");
(その行は最初の php ファイルに表示されます。) 問題は、データが 2 番目の php ファイルの URL に表示されることです。GETのように。例を探してみましたが、成功しませんでした。POSTのようにする方法を探していますか?
できません。リダイレクトすると、常に GET リクエストが発生します。
考えられる解決策 (ターゲット スクリプトが同じドメインにある場合) は、PHP セッションを使用してサーバーにデータを保存することです。
当初はCURLを使用することを提案していましたが、今ではそれが最善の解決策ではない可能性があると考えています。単純にスクリプト間でデータを保持または受け渡すことを検討している場合は、スクリプト間でデータを設定および保持できるようにするセッションを検討することをお勧めします。
例えば:
スクリプト 1
session_start();
$_SESSION['userName'] = $username;
スクリプト 2
session_start();
if (isset($_SESSION['userName']))
$username = $_SESSION['userName'];
echo $username;
これにより、2 つのスクリプト間で $username の値が正常に渡されます。任意の変数を $_SESSION 配列に入れるだけで、スクリプト全体で使用できるようになります。
PEAR の優れたHTTP_Request2パッケージを使用して POST リクエストを作成できます。