我有两种形式:(登录表单,注册表单),然后将它们提交给我的组件。
登录表格: 我想检查登录并传递并在joomla中将状态设置为“已登录”。
注册表格: 我想在joomla中注册新用户。
怎么做?
$inplogin = JRequest::getVar('inplogin');
$inppass = JRequest::getVar('inppass');
???? JFactory::login($inplogin, $inppass); ????
???? JFactory::registeruser($inplogin, $inppass); ????
???
答案 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();