Как пользоваться сессиями - PullRequest
0 голосов
/ 13 марта 2012
http://dev."xxxxxyyyyy".com/xxxxx-community/register.html?&invite=5000

Мне нужно сохранить этот идентификатор ($ Invite = 5000) в переменной с именем $ fromid, используя сессию. В /components/com_community/controllers/register.php

есть две функции

Где мне это назвать и как ??

class CommunityRegisterController extends CommunityBaseController
{
  public function register()
{

}

еще один

public function register_save()
{
    $mainframe  =& JFactory::getApplication();
    $modelRegister      = CFactory::getModel('register');

    // Check for request forgeries
    $mySess     =& JFactory::getSession();

    if(! $mySess->has('JS_REG_TOKEN'))
    {
        echo '<div class="error-box">' . JText::_('COM_COMMUNITY_INVALID_SESSION') . '</div>';
        return;     
    }

    $token      = $mySess->get('JS_REG_TOKEN','');
    $ipAddress  = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
    $authKey    = $modelRegister->getAssignedAuthKey($token, $ipAddress);
    $formToken  = JRequest::getVar( 'authkey', '', 'REQUEST');

    if(empty($formToken) || empty($authKey) || ($formToken != $authKey))
    {
        //echo $formToken .'|'. $authKey;
        echo '<div class="error-box">' . JText::_('COM_COMMUNITY_INVALID_TOKEN') . '</div>';
        return;
    }

    //update the auth key life span to another 180 sec.
    $modelRegister->updateAuthKey ($token, $authKey, $ipAddress);

    // Get required system objects
    $config     = CFactory::getConfig();
    $post       = JRequest::get('post');

    // If user registration is not allowed, show 403 not authorized.
    $usersConfig = &JComponentHelper::getParams( 'com_users' );
    if ($usersConfig->get('allowUserRegistration') == '0')      
    {
        //show warning message      
        $view =& $this->getView('register');
        $view->addWarning(JText::_( 'COM_COMMUNITY_REGISTRATION_DISABLED' ));
        echo $view->get('register');                                    
        return;
    }

Могу ли я получить доступ к этому $ fromid в компонентах / com_users / controllers / registration.php, который использует класс

 class UsersControllerRegistration extends UsersController

{

 }

1 Ответ

0 голосов
/ 13 марта 2012

Вы можете использовать метод GET, чтобы получить значение, а затем сохранить его в переменной сеанса, Например:

$_SESSION['fromid'] = $_GET['invite'];
$fromid = $_SESSION['fromid'];
...