如何实现登录和注册?

时间:2012-01-05 10:36:15

标签: joomla joomla1.7

我有两种形式:(登录表单,注册表单),然后将它们提交给我的组件。

登录表格: 我想检查登录并传递并在joomla中将状态设置为“已登录”。

注册表格: 我想在joomla中注册新用户。

怎么做?

$inplogin = JRequest::getVar('inplogin');
$inppass = JRequest::getVar('inppass');

???? JFactory::login($inplogin, $inppass); ????

???? JFactory::registeruser($inplogin, $inppass); ????

???

4 个答案:

答案 0 :(得分:2)

登录

$result = JFactory::getApplication()->login(array('username'=>$username, 'password'=>$password));

注册

require_once  JPATH_ROOT.DS.'components'.DS.'com_users'.DS.'models'.DS.'registration.php';
$model = new UsersModelRegistration();
jimport('joomla.mail.helper');

// Attempt to save the data.
jimport('joomla.user.helper');
$username = ; //your user name here
$password = ; //your password here
$data = array(  'username'=>$email,'name'=>$email,'email1'=>$email,'password1'=>$password, 'password2'=>$password, 'block'=>1 );
$return = $model->register($data);

答案 1 :(得分:0)

我不知道这与joomla有什么关系。

在这两种情况下都需要使用相同的$ _SESSION变量。声明变量后,如果存在此var,则可以检查索引页的开头(如果存在,则检查凭据是否正确)。类似的东西:

    <?php 
    session_start();
    if (!isset($_SESSION['logged']) {
    header("location:login.php");
    exit();
    }
    ?>

答案 2 :(得分:0)

您可以使用JUser :: bind($ userData)和JUser :: save($ userData)来注册用户。

答案 3 :(得分:0)

扩展Gaurav的答案:

如果您只使用Joomla框架并且没有加载网站,则仍需要初始化网站。

那就是说,这两行应该可以解决问题:

$app = JFactory::getApplication('site');
$app->initialise();