私は3つのファイルを持っています。
ファイル 1: index.php
これは、second.php にリダイレクトし、id=$var を second.php に送信します。
コード:
$var=52013;
window.open('second.php?id=$var','name','width=1000,height=700,scrollbars=yes');
ファイル 2: second.php
受け取ったこのファイルでは$var
、ログに出力すると の値が表示されます$var
。
<?php
session_start();
$_SESSION['id'] = $_REQUEST['id'];
$GLOBALS["log"]->fatal("Get id of order = ".$_SESSION['id']);
//Here it redirects to third file for some varification online.
//This condition is true first time when this page is called but after
//redirection from third.php this condition becomes false.So code below
//this if statement will be executed after redirection from third file.
if(condition==true)
{
header("Location: http://third.php");
}
print "Please visit:\n$authUrl\n\n";
print "Please enter the auth code:\n";
//After redirection from third.php i want to write document using value stored
//in session variable which we get at top.($_SESSION['id'])
$val = $_SESSION['id'];
//Write a file
$file_open = fopen("modules/doc/views/document.txt","wb");
$content = $val;
fwrite($file_open,$content);
fclose($file_open);
ファイル 3: Third.php
このファイルは、オンラインでいくつかの検証を行ってから、document.txt にセッション ID を書き込むために second.php にリダイレクトします。
したがって、問題は、third.php が second.php ファイルにリダイレクトされると、セッション変数の値が失われることです。third.php からのリダイレクト後に document.txt にセッション変数の値を書き込みたいのですが、その時点で$_SESSION['id']
は何も含まれていません。
しかし、プロセスは同じでなければなりません。変更したくありません。それは要件です。
つまり、index.php -> second.php -> third.php -> second.php -> セッション値を書き込みます。
ありがとう