Module de connexion - modif session, et puis ?
Réduire
X
-
Oui c'est vrai que je les mets dans update et delete mais j'écris toujours mes select en direct, je vais faire attention à ca, merci beaucoup !
-
+1 avec infograph, mais + encore (sinon risque de sql injection)
Code PHP:$db->setQuery('SELECT * FROM #__users WHERE '.$db->quoteName('username').' = ' .$db->quote($username));
Laisser un commentaire:
-
Ok, à chaque fois que j'écris en mode désespéré je trouve juste après ..
voici la solution pour ceux que ca intéresse :
Code PHP:$db = JFactory::getDBO();
$username = JRequest::getString('email', '');
$password = JRequest::getString('password', '');
if(!empty($username) AND !empty($password)){
$db->setQuery('SELECT * FROM #__users WHERE username = "'.$username.'" ');
$result = $db->loadObject();
if(!empty($result)){
if(JUserHelper::verifyPassword(JRequest::getString ('password', ''), $result->password) == true){
$credentials = array( 'username' => $username, 'password' => $password);
$login_site = JFactory::getApplication('site');
$login_site->login($credentials, $options = array());
}
else{
echo 'Mot de passe incorrect';
}
}
}
Laisser un commentaire:
-
Module de connexion - modif session, et puis ?
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
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';
}
}
Dernière édition par Minie à 24/01/2021, 21h26Tags: Aucun
Annonce
Réduire
Aucune annonce pour le moment.
Laisser un commentaire: