This question already has an answer here:
what is wrong with this error i dont get it... it actualy works when i m connected to localhost but when i run it on a free domain i get this error: Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /home/a7812073/public_html/core/init.php on line 21 and i inserted the right info for the mysql server
<?php
session_start();
$GLOBALS ['config'] = array(
'mysql' => array(
'host' => '127.0.0.1',
'username' => 'root',
'password' => '',
'db' => 'lr'
),
'remember' => array(
'cookie_name' => 'hash',
'cookie_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';
if(Cookie::exists(Config::get('remember/cookie_name')) && !Session::exists(Config::get('session/session_name'))) {
$hash = Cookie::get(Config::get('remember/cookie_name'));
$hashCheck = DB::getInstance()->get('users_session', array('hash', '=', $hash));
if($hashCheck->count()) {
$user = new User($hashCheck->first()->user_id);
$user->login();
}
}
?>
</div>
The problem is that you are attempting to register an anonymous function using spl_autoload_register()
, but as you told that you are using PHP5.2 on your web server.
Unfortunately PHP < 5.3 does not support anonymous functions. You need to write a "regular" function:
function my_autoload($class) {
require_once 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoload');
This will work on PHP >= 5.3 as well.