2012-01-05 153 views
0

我有两种形式:(登录表单,注册表单),他们提交给我的组件。如何实现登录和注册?

登录形式: 我想检查登录并传递并设置状态为“登录”在joomla。

注册形式: 我想在joomla注册新用户。

怎么办?

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

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

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

???

+0

matanya,你不使用$ _SESSION与Joomla。 Joomla拥有自己的会话商店。 – Casey 2013-03-13 17:34:16

回答

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); 
0

我不明白这是如何具体到joomla。

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

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

可以使用JUser与::绑定($用户数据)和JUser与::保存($用户数据)登记用户。

0

在拉夫的回答扩展:

如果你只使用的Joomla框架,你没有一个网站加载,你仍然需要初始化网站。

这就是说,这两行应该做的伎俩:

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