-1
我开始学习PHP OOP并尝试创建登录系统。得到了以下错误:PHP致命错误:未找到类'Token'
Fatal error: Class 'Token' not found in ..login/register.php on line 61.
请参见下面的列表:
register.php
<?php
require_once 'core/init.php';
if(Input::exists()){
$validate = new Validate();
$validation = $validate->check($_POST, array(
'username' =>array(
'required' => true,
'min' => 2,
'max' => 20,
'unique' => 'users'
),
'password' =>array(
'required' => true,
'min' => 6
),
'password_again' =>array(
'required' => true,
'matches' => 'password'
),
'name' =>array(
'required' => true,
'min' => 2,
'max' => 50
)
));
if($validation->passed()){
echo 'Passed';
}else {
foreach($validation->errors() as $error){
echo $error, '<br>';
}
}
}
?>
<form action="" method="post">
<div class="field">
<label for="username">Username</label>
<input type ="text" name="username" id="username" value="<?php echo Input::get('username'); ?>" autocomplete="off">
</div>
<div class="field">
<label for="password">Choose a password</label>
<input type ="password" name="password" id="password">
</div>
<div class="field">
<label for="password_again">Enter your password again</label>
<input type ="password" name="password_again" id="password_again">
</div>
<div class="field">
<label for="name">Your Name</label>
<input type ="text" name="name" value="<?php echo Input::get('name'); ?>" id="name">
</div>
<input type = "hidden" name="token" value ="<?php echo Token::generate(); ?>">
<input type = "submit" value ="Register">
</form>
的init.php
<?php
session_start();
$GLOBALS['config'] = array(
'mysql' => array (
'host' => '127.0.0.1',
'username' => 'root',
'password' => 'customessay',
'db'=>'db'
),
'remember' => array (
'coockie_name' => 'hash',
'coockie_expiry' => 604800
),
'session' => array (
'session_name' => 'user',
'token_name' => 'token'
)
);
spl_autoload_register(function($class){
require_once 'classes/'. $class . '.php';
});
require_once 'functions/sanitize.php';
?>
Token.php
<? php
class Token {
public static function generate(){
return Session::put(Config::get('session/token_name'), md5(uniqid()));
}
public static function check($token) {
$tokenName = Config::get('session/token_name');
if (Session:exists($tokenName) && $token === Session::get($tokenName)){
Session::delete($tokenName);
return true;
}
return false;
}
}
请指教。
您是否在任何地方加载该课程?我看不到它被包括在内... –
in init.php spl_autoload_register(function($ class){ require_once'classes /'。$ class。'.php'; }); – user1333393
我明白了,但您正在加载的$ class参数在哪里,设置为“令牌”? –