PHPスクリプトに問題があります。問題は loginpage.php にあります。addcategory.php があり、エラーなく正常に動作します。しかし、loginpage.php にアクセスしようとすると、loginpage.php の URL が表示されますが、addcategory.php に関連する error.log ファイルにエラー メッセージがスローされます。メッセージは次のようなものです。
PHP Warning: include(../session.php): failed to open stream: No such file or directory in /var/www/RamroDeal/php/controller/admin/addcategory.php on line 2
PHP Warning: include(): Failed opening '../session.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/RamroDeal/php/controller/admin/addcategory.php on line 2
PHP Warning: include(../../view/fns.php): failed to open stream: No such file or directory in /var/www/RamroDeal/php/controller/admin/addcategory.php on line 3
PHP Warning: include(): Failed opening '../../view/fns.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/RamroDeal/php/controller/admin/addcategory.php on line 3
上記のエラー メッセージの前に別のエラー メッセージがありました。以下の通りです
Cannot redeclare __autoload() (previously declared in /var/www/RamroDeal/php/controller/loginpage.php:5) in /var/www/RamroDeal/php/controller/admin/addCategory.php on line 8, referer: http://localhost/RamroDeal/php/index.php
loginpage.php を要求しているときに addcategory.php にアクセスしている理由がわかりません。助けてください!!!
phpのページは以下です。
loginpage.php
session_start();
include '../view/fns.php';
spl_autoload_register(function ($obj)
{
$class = strtolower($obj);
include '../class/'.$class.'.php';
});
$msg = '';
if (isset($_POST['email']) && isset($_POST['pw']))
{
$filter = Validation::getValidationInstance();
$email = $filter->filter($_POST['email']);
$pw = $filter->filter($_POST['pw']);
$login = Log::getLogInstance();
$login->setProperty($email, $pw, Database::getDBInstance());
$msg = $login->login();
}
//Displaying heading part of html
ramrodeal_header("Login - RamroDeal - Great Deal, Great Price");
//Displaying navigation part of html
nav();
if (empty($_SESSION['email']))
{
//Displaying login form
login_form();
echo $msg;
} else{
switch($_SESSION['type']){
case 'administrator':
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/admin/adminHomepage.php';
header('Location: ' . $home_url);('Location: ' . $home_url);
break;
case 'sub-administrator':
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/admin/subAdminHomepage.php';
header('Location: ' . $home_url);('Location: ' . $home_url);
break;
case 'merchant':
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/merchant/merchantHomepage.php';
header('Location: ' . $home_url);('Location: ' . $home_url);
break;
case 'agent':
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/agent/agentHomepage.php';
header('Location: ' . $home_url);('Location: ' . $home_url);
break;
default:
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/customer/customerHomepage.php';
header('Location: ' . $home_url);('Location: ' . $home_url);
}
}
//Displaying footer of html
ramrodeal_footer();
addcategory.php
include('../session.php');
include('../../view/fns.php');
spl_autoload_register(function ($obj)
{
$class = strtolower($obj);
include '../../class/'.$class.'.php';
});
//Displaying heading part of html
ramrodeal_header("RamroDeal - Great Deal, Great Price");
//Displaying navigation part of html
nav();
//displaying add category form
addCategory();
$dealcategory = Category::getCategoryInstance(Database::getDBInstance());
if (isset($_POST['submit'])){
$filter = Validation::getValidationInstance();
$name = $filter->filter($_POST['name']);
$dealcategory->setProperty($name);
$msg = $dealcategory->addCategory();
echo $msg;
}
$deallist = $dealcategory->getCategory();
categoryTable($deallist);
//Displaying footer of html
ramrodeal_footer();
アップデート:
両方のページのディレクトリ構造が異なります
loginpage.php は var/www/myapp/php/controller/ にあります
addcategory.php は var/www/myapp/php/controller/admin/ にあります