Bonjour,
je suis entrain de créer un composant avec un module de connexion spécifique, je recherche la fonction du framework joomla qui dirait : "connecter cet utilisateur"
voici un code de test tout sale pour le moment de vérification des infos de login, avec une requête pour mettre à jour la session joomla, la passer en guest 0, ajouter userid et username, mais voilà, un problème se pose : une fois le code exécuté, je ne suis toujours pas connecté alors que la table session est bien modifiée, mais ca ne suffi pas visiblement à faire de ma session une connexion.
Quelqu'un sait ce qu'il faut de plus svp ? Ou si il y a une fonction que je n'ai pas trouvé du genre JFactory::getSession()->connect($user_id) (comme dans mes reves)
Merci d'avance si quelqu'un passe par là et voit de la lumière
je suis entrain de créer un composant avec un module de connexion spécifique, je recherche la fonction du framework joomla qui dirait : "connecter cet utilisateur"
voici un code de test tout sale pour le moment de vérification des infos de login, avec une requête pour mettre à jour la session joomla, la passer en guest 0, ajouter userid et username, mais voilà, un problème se pose : une fois le code exécuté, je ne suis toujours pas connecté alors que la table session est bien modifiée, mais ca ne suffi pas visiblement à faire de ma session une connexion.
Quelqu'un sait ce qu'il faut de plus svp ? Ou si il y a une fonction que je n'ai pas trouvé du genre JFactory::getSession()->connect($user_id) (comme dans mes reves)
Merci d'avance si quelqu'un passe par là et voit de la lumière
Code PHP:
if(!empty(JRequest::getString('username', '')) AND !empty(JRequest::getString('password', ''))){
$username = JRequest::getString('username', '');
$db = JFactory::getDBO();
$db->setQuery('SELECT * FROM #__users WHERE username = "'.$username.'" ');
$result = $db->loadObject();
if(!empty($result)){
if(JUserHelper::verifyPassword(JRequest::getString ('password', ''), $result->password) == true){
$query = $db->getQuery(true);
$fields = array(
$db->quoteName('guest') . ' = ' . $db->quote(0),
$db->quoteName('userid') . ' = ' . $db->quote($result->id),
$db->quoteName('username') . ' = ' . $db->quote($result->username)
);
$conditions = array(
$db->quoteName('session_id') . ' = ' . $db->quote(JFactory::getSession()->getId())
);
$query->update($db->quoteName('#__session'))->set($fields)->where($conditions);
$db->setQuery($query);
$result = $db->execute();
header('location:'.JUri::current());
}
else{
echo 'mot de passe incorrect';
}
}
else{
echo 'L\'utilisateur n\'existe pas';
}
}
Commentaire