2012-07-21 9 views
1

J'ai créé un formulaire de connexion simple messages de données à _self puis j'ai essayé de vérifier les informations d'identification pour connecter l'utilisateurconnexion Joomla simple script

Le script d'authentification ressemble à ça:.

if ($_POST['username'] && $_POST['password']) 

{ 
     $db =& JFactory::getDBO(); 

     $query = 'SELECT `id`' 
      . ' FROM #__users' 
      . ' WHERE username='.$_POST['username']; 
     $db->setQuery($query); 
     $result = $db->loadResult(); 


     if (!$result) { 
      echo 'User does not exist'; 
     } 


     if($result && (USERNAME & PASS MATCH)) 
     { 
      << LOGIN AND REDIRECT TO CERTAIN PAGE >> 
     } 
     else 
     { 
      echo 'Invalid username or password'; 
     } 


} 

dans mes simples scripts php, j'utilisé pour définir une variable SESSION true lorsque correspondance nom d'utilisateur et mot de passe et thats comment je considérais un utilisateur d'être connecté.

Voici, quelles mesures dois-je faire? Y a-t-il un champ dans la base de données qui est défini lorsque l'utilisateur est connecté? En d'autres termes, je souhaite connecter l'utilisateur et rediriger vers une autre page.

Des suggestions?

+0

Joomla! a un système complet de gestion des utilisateurs, je ne comprends donc pas votre but. Essayez-vous de créer une extension pour Joomla! ou autre chose? – Craig

Répondre

1

Une fois l'utilisateur connecté, vous pouvez faire quelque chose comme:

if($result && (USERNAME & PASS MATCH)) 
    { 
     $_SESSION['logged_in_user'] = $user; 
     header("location: /loggedin.php"); 
    } 

Puis en haut de loggedin.php définir un contrôle d'authentification:

session_start(); // If 
if (!isset($_SESSION['logged_in_user'])) { 
    // User is not logged in, so send user away. 
    header("Location:/login"); 
    die(); 
} 
// User is logged in; private code goes here. 

C'est un excellent tutoriel pour la connexion de l'utilisateur systèmes: http://en.wikibooks.org/wiki/PHP_Programming/User_login_systems

Il va dans l'authentification avancée des utilisateurs et montre plus d'exemples que j'ai ici.

+0

Merci beaucoup Patrick, mais comme je l'ai dit, je suis habitué à ce genre d'écriture. Cependant, j'ai peur que joomla ne fonctionne pas de cette façon! Je pense que je ne suis pas censé utiliser des variables de session. C'est pourquoi je suis confus .. Toute autre suggestion? – george

+0

La seule autre chose que vous pourriez faire en dehors des sessions serait un système d'authentification basé sur la base de données, par ex. mysql, ou même quelque chose comme memcached, mais les sessions font un bon travail d'authentification si c'est fait correctement. A part ça, vous n'avez pas vraiment besoin de trop de complexité pour une simple authentification de l'utilisateur. – pat34515