2012-01-05 17 views
0

私は2つのフォーム:(ログインフォーム、登録フォーム)と私のコンポーネントに提出した。ログインと登録の実装方法は?

ログインフォーム: ログインを確認して、joomlaの状態を "ログに記録"したいと思います。

登録フォーム: joomlaに新規ユーザーを登録します。

どうすればよいですか?

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

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

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

???

+0

matanyaは、あなたがJoomlaので$ _SESSIONを使用しないでください。 Joomlaには独自のセッションストアがあります。 – Casey

答えて

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変数を使用する必要があります。変数が宣言された後、このvarが存在する場合はインデックスページの先頭を確認できます(存在する場合は、資格情報が正しいかどうか)。何かのように:

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

あなたが登録するためのJUser ::バインド($のuserData)とJUser ::セーブ($のuserData)を使用することができますユーザー。あなただけのJoomlaのフレームワークを使用していて、サイトがロードされていない場合、あなたはまだ、サイトを初期化する必要があります

:のGauravの回答時に拡大

0

。これらの2行は、トリックを行う必要があると述べた

$app = JFactory::getApplication('site'); 
$app->initialise(); 
関連する問題