Я новичок в PHP. И я работаю над проектом с этой иерархией каталогов: папки model
, control
, view
и helper
находятся в папке моего проекта
Теперь я пытаюсь записать файл init.php
и require_once
в каждый из файлов control
и model
, вот мой init.php
<?php
$current_dir = basename(getcwd());
$model_dir = "model";
$helper_dir = "helper";
function require_helper(){
$handle = opendir("../{$helper_dir}");
while($file = readdir($handle)){
if($file != "." && $file != ".."){
require_once "../{$helper_dir}/{$file}";
}
}
}
if($current_dir == "control"){
$handle = opendir("../{$model_dir}");
while($file = readdir($handle)){
if($file != "." && $file != ".."){
require_once "../{$model_dir}/{$file}";
}
}
require_helper();
} elseif( $current_dir == "model") {
$handle = opendir($current_dir);
while($file = readdir($handle)){
if($file != "." && $file != ".."){
require_once "{$file}";
}
}
require_helper();
}
?>
Но когда я тестирую свой проект, я получаю эту ошибку:
Примечание: неопределенная переменная: session в C: \ wamp \ www \ harmony \ control \ login.php в строке 11
Вот мой login.php
файл:
<?php
require_once "../helper/init.php";
?>
<?php
if(isset($_GET["logout"]) && $_GET["logout"] == "true" ){
$session->logout();
}
if($session->is_logged_in()){
redirect_to("../view/index.php");
}
if(isset($_POST["submit"])){
$username = $db->escape_value($_POST["username"]);
$password = $db->escape_value($_POST["password"]);
$password = hash('sha1' , $password);
$arr = User::auth($username , $password);
if($arr){
$usr = $db->instantiate($arr);
$session->login($usr);
} else {
Session::notify("Invalid login information.");
}
}
?>
Так, не могли бы вы помочь мне, пожалуйста? что не так происходит?