veemon
Member
Hey there!
I implented a new site with a login script I found in this forum and everything worked nicely, until someone with a special character (♥) tried to login.
I absolutely can't seem to find the error here.
The $username shows it correctly if I echo it and it's correctly displayed in the database as well.
The problem seems to be when getting the $data.
When dumping it I noticed that it would just return a false boolean when I tried logging in with the ♥ character.
Thanks in advance for any help!
Here is the script:
I implented a new site with a login script I found in this forum and everything worked nicely, until someone with a special character (♥) tried to login.
I absolutely can't seem to find the error here.
The $username shows it correctly if I echo it and it's correctly displayed in the database as well.
The problem seems to be when getting the $data.
When dumping it I noticed that it would just return a false boolean when I tried logging in with the ♥ character.
Thanks in advance for any help!
Here is the script:
PHP:
$startTime = microtime(true);
require('../library/XenForo/Autoloader.php');
XenForo_Autoloader::getInstance()->setupAutoloader('../library');
XenForo_Application::initialize('../library');
XenForo_Application::set('page_start_time', $startTime);
$username = $_POST['username'];
$password = $_POST['password'];
$db = XenForo_Application::getDb();
$data = $db->fetchOne('
SELECT
auth.data
FROM xf_user_authenticate AS auth
INNER JOIN xf_user AS user ON
(user.user_id = auth.user_id)
WHERE user.username = ?
', $username);
$id = $db->fetchOne('SELECT user_id FROM xf_user WHERE username = ?', $username);
$auth = XenForo_Authentication_Abstract::createDefault();
$auth->setData($data);
$check = $auth->authenticate($username, $password);
var_dump($data);
if($check) {
session_start();
/*redirect('gamesite/protected/')*/;
} else {
/*redirect('gamesit/index.php?message=2')*/;
}