JOMSOCIAL INVALID TOKEN ERROR

时间:2012-03-05 11:55:58

标签: php joomla

在登录joomla2.5 / jomsocial2.4网站时显示错误“INVALID TOKEN”的时间非常浪费,但在2,3次刷新后,它会显示登录的个人资料页面...为什么会这样... ..是Joomla的问题......我已经卸载了一个插件alphauserpoints ...是一个问题..或者我应该修改代码default.php

<?php

// no direct access
defined('_JEXEC') or die;
JHtml::_('behavior.keepalive');
?>
<?php if ($type == 'logout') : ?>
<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>"     method="post" id="login-form">

<?php if ($params->get('greeting')) : ?>
<div class="login-greeting">
<?php if($params->get('name') == 0) : {
    echo JText::sprintf('MOD_LOGIN_HINAME', $user->get('name'));
} else : {
    echo JText::sprintf('MOD_LOGIN_HINAME', $user->get('username'));
} endif; ?>
</div>
<?php endif; ?>
<div class="logout-button">
    <input type="submit" name="Submit" class="button" value="<?php echo         JText::_('JLOGOUT'); ?>" />
    <input type="hidden" name="option" value="com_users" />
    <input type="hidden" name="task" value="user.logout" />
    <input type="hidden" name="return" value="<?php echo $return; ?>" />
    <?php echo JHtml::_('form.token'); ?>
</div>
</form>
<?php else : ?>
<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>"     method="post" id="login-form" >
<?php if ($params->get('pretext')): ?>
    <div class="pretext">
    <p><?php echo $params->get('pretext'); ?></p>
    </div>
<?php endif; ?>
<fieldset class="userdata">
<p id="form-login-username">
    <label for="modlgn-username"><?php echo                                        JText::_('MOD_LOGIN_VALUE_USERNAME') ?></label>
    <input id="modlgn-username" type="text" name="username" class="inputbox"  size="18" />
</p>
<p id="form-login-password">
    <label for="modlgn-passwd"><?php echo JText::_('JGLOBAL_PASSWORD') ?></label>
    <input id="modlgn-passwd" type="password" name="password" class="inputbox" size="18"  />
</p>
<?php if (JPluginHelper::isEnabled('system', 'remember')) : ?>
<p id="form-login-remember">
    <label for="modlgn-remember"><?php echo JText::_('MOD_LOGIN_REMEMBER_ME') ?></label>
    <input id="modlgn-remember" type="checkbox" name="remember" class="inputbox" value="yes"/>
</p>
<?php endif; ?>
<input type="submit" name="Submit" class="button" value="<?php echo JText::_('JLOGIN') ?>" />
<input type="hidden" name="option" value="com_users" />
<input type="hidden" name="task" value="user.login" />
<input type="hidden" name="return" value="<?php echo $return; ?>" />
<?php echo JHtml::_('form.token'); ?>
</fieldset>
<ul>
    <li>
        <a href="<?php echo JRoute::_('index.php?option=com_users&view=reset'); ?>">
        <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_PASSWORD'); ?></a>
    </li>
    <li>
        <a href="<?php echo JRoute::_('index.php?option=com_users&view=remind'); ?>">
        <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_USERNAME'); ?></a>
    </li>
    <?php
    $usersConfig = JComponentHelper::getParams('com_users');
    if ($usersConfig->get('allowUserRegistration')) : ?>
    <li>
        <a href="<?php echo JRoute::_('index.php?option=com_users&view=registration'); ?>">
            <?php echo JText::_('MOD_LOGIN_REGISTER'); ?></a>
    </li>
    <?php endif; ?>
</ul>
<?php if ($params->get('posttext')): ?>
    <div class="posttext">
    <p><?php echo $params->get('posttext'); ?></p>
    </div>
<?php endif; ?>

或者卸载是否影响了joomla的配置文件

1 个答案:

答案 0 :(得分:0)

试试此链接:http://developersbench.in/invalid-token-during-registration-jomsocial/#.T19wtHm45F0。你可能会得到一些帮助。

我对此有关的信息是,每次打开页面并提交表单时,它首先验证令牌,如果令牌过期,这主要是因为页面上闲置了几次,那么你会得到“无效”令牌“错误。

如果您不担心令牌,请转到文件root / libraries / joomla / environment / request.php并检查以下功能 function checkToken($ method ='post'),注释它之间的所有行,只需返回true,无论如何。我没试过这个,但我想这会奏效。