[PHP-users 1113] PHP4でセッションIDとインクルード
Toshinori Takata
php-users@php.gr.jp
Wed, 08 Aug 2001 16:00:34 +0900
はじめまして、高田と言います。
現在 VineLinux 2.1 上で PHP4.0.3pl1 を使って、
url の引数で指定されたファイルを読み込むプログラムを組んでいます。
main.phpで
main.php?url=http://localhost/tmp1.php&<?=SID?>
の様にリンク先が指定してあります。
これを選ぶとmain.php内で、
http://localhost/tmp1.php?PHPSESSID=xxxx
(xxx は main.php が最初に呼ばれたときに作られたセッションIDです。)
をインクルードして main.php 内に表示されるようになっています。
こういう事をするときにセッション情報も渡る様にするにはどうすればいいので
しょうか?
このプログラムでは暫くしてから、
Warning: Failed opening 'http//localhost/tmp1.php?PHPSESSID=xxx' for
inclusion (include_path='.:/usr/local/apache/php_lib') in
/usr/local/apache/htdocs/main.php on line 29
と表示されます。(29 は include 文の有る行です)
どうぞ、よろしくお願いします。
------------ http://localhost/main.php ---------------
<?php
session_start();
session_register(var);
$var = "ABCD";
print session_id();
print "<BR>";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<?php
if ($url) {
$first=1;
while (list($key, $val) = each($HTTP_GET_VARS)) {
if ($key == "url") continue;
if ($first == 1) {
$url .= "?".$key."=".$val;
$first=0;
}
else {
$url .= "&".$key."=".$val;
}
}
print "$url<BR>";
include ("$url");
}
?>
<a href="main.php?url=http://localhost/tmp1.php&<?=SID?>">tmp1</a>
</body>
</html>
------------- http://localhost/tmp1.php ---------------
<?php
session_start();
print "<P>tmp1.php";
print $var;
?>
--
Toshinori Takata
mailto:takata@bk.iij4u.or.jp