外部ページの $_SESSION 変数にアクセスできません。
基本的に、私は drupal ノードにフォームを持っています。これは、送信されると、次のように値を $_SESSION 変数に保存する外部 php ファイルに投稿します。
//Bootstrap Drupal so we can use the SESSION variables, where we store the calling number for the
//duration of the logged in session
define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']);
$base_url = 'http://'.$_SERVER['HTTP_HOST'];
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
//Save number as the calling number for the session
$_SESSION['calling-number']=$_REQUEST['calling-number'];
それはうまくいきます。
後で、次を使用して外部ページから $_SESSION 変数にアクセスしようとしたとき:
//Bootstrap Drupal so we can use the SESSION variables, where we store the calling number for the
//duration of the logged in session
define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']);
$base_url = 'http://'.$_SERVER['HTTP_HOST'];
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
echo $_SESSION['calling-number'];
私は何も得ません。この新しいページの $user を見ると、$_SESSION 変数を設定したログイン ユーザー ID ではなく、匿名ユーザー セッション (uid = 0) で実行されていることがわかります。見つかりません。
ログインしたユーザーのセッションを使用していない理由はありますか?
編集
理由はわかりませんが、2 つの外部ファイルが異なるディレクトリにある限り、これは正常に機能します。それらが同じディレクトリにある場合、新しいセッションを開始し、既存のセッションにはアクセスしないようです。理由はわかりませんが。