【问题标题】:username and password help in joomlajoomla中的用户名和密码帮助
【发布时间】:2014-02-22 03:06:30
【问题描述】:

我在这里尝试做的是显示我的登录信息,登录后显示其他内容

例子在这里

    <?php
    $user = JFactory::getUser();
    $status = $user->guest;

    if($status == 1){
    echo '
   <form id="login-form" class="form-inline" method="post" action="/home">
   <div class="topUser">
        Name: 
        <input id="modlgn-username" class="TopinputReg" type="text" placeholder="User Name" tabindex="0" name="username" />
      </div>
      <div class="toppass">Password: 
        <input id="modlgn-passwd" class="TopinputReg" type="password" placeholder="Password" tabindex="0" name="password" pwfprops="," />
      </div>
      <div class="topsignin">
        <input class="Signin" name="Submit" tabindex="0" type="submit" value="" />
      </div>
      <div class="topregister">
        <a href="http://gamers-league.com/forums/user/register"><input name="button" type="submit" class="Register" id="button" value="" /></a>
              </div>
    <input type="hidden" value="com_users" name="option">
    <input type="hidden" value="user.login" name="task">
    <input type="hidden" value="aW5kZXgucGhwP0l0ZW1pZD0xMzM=" name="return">
    <input type="hidden" value="1" name="39ea5446d876078c6f6221d396ef5bd4">
              </form>
    ';
     }
    else
    {
    echo '
    <div class="topUser">Welcome Back!</div>
      <div class="toppass">Enjoy you stay.</div>
      <form id="login-form" class="form-vertical" method="post" action="/log-out">
      <div class="topsignin">
        <input class="Signout" type="submit" value="" name="Submit" />
        <input type="hidden" value="com_users" name="option">
              </div>
    <input type="hidden" value="com_users" name="option">
    <input type="hidden" value="user.logout" name="task">
    <input type="hidden" value="aW5kZXgucGhwP0l0ZW1pZD0xMDE=" name="return">
    <input type="hidden" value="1" name="994c61f8ab4ccf23fe9dae6546a87089">

      </form>
      <div class="topregister">
        <a href="http://gamers-league.com/forums/user"><input name="button" type="submit" class="account" id="button" value="" /></a>
      </div>
    ';
    }
    ?>

不,我知道我做错了什么,只是不知道如何解决它。两个

每次都需要生成不同的数字,但我该怎么做。

因为这个数字每次都是一样的,如果我登录然后退出然后尝试重新登录它会给我“无效令牌”

当我进入登录模板时,它给了我 这个用于登录

<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getValue('return'))); ?>" />
<?php echo JHtml::_('form.token'); ?>

这个用于注销

<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('logout_redirect_url', $this->form->getValue('return'))); ?>" />
<?php echo JHtml::_('form.token'); ?>

现在,如果我在尝试刷新页面时将已经具有预生成数字的隐藏字段替换为上面的 php 内容,它将完全空白。

我对此感到茫然,因为我在 php 方面不是很先进。任何人无法提供的任何帮助都会非常有帮助..

【问题讨论】:

  • 你到底想做什么?如果您在 PHP 方面没有那么丰富的经验,那么您最不想做的就是玩弄密码。你只是想在用户登录后向他们显示一些东西吗?
  • 我正在尝试显示登录和注册,如果已登录,则可以选择注销或帐户。

标签: php joomla joomla2.5 joomla3.0 login-script


【解决方案1】:

为什么不这样尝试,

  <?php
    $user = JFactory::getUser();
    $status = $user->guest;

    if($status == 1):
?>

<form id="login-form" class="form-inline" method="post" action="/home">
   <div class="topUser">
        Name: 
        <input id="modlgn-username" class="TopinputReg" type="text" placeholder="User Name" tabindex="0" name="username" />
      </div>
      <div class="toppass">Password: 
        <input id="modlgn-passwd" class="TopinputReg" type="password" placeholder="Password" tabindex="0" name="password" pwfprops="," />
      </div>
      <div class="topsignin">
        <input class="Signin" name="Submit" tabindex="0" type="submit" value="" />
      </div>
      <div class="topregister">
        <a href="http://gamers-league.com/forums/user/register"><input name="button" type="submit" class="Register" id="button" value="" /></a>
              </div>
    <input type="hidden" value="com_users" name="option">
    <input type="hidden" value="user.login" name="task">
    <input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getValue('return'))); ?>" />
<?php echo JHtml::_('form.token'); ?>
              </form>

<?php else:
?>

<div class="topUser">Welcome Back!</div>
      <div class="toppass">Enjoy you stay.</div>
      <form id="login-form" class="form-vertical" method="post" action="/log-out">
      <div class="topsignin">
        <input class="Signout" type="submit" value="" name="Submit" />
        <input type="hidden" value="com_users" name="option">
              </div>
    <input type="hidden" value="com_users" name="option">
    <input type="hidden" value="user.logout" name="task">
    <input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('logout_redirect_url', $this->form->getValue('return'))); ?>" />
<?php echo JHtml::_('form.token'); ?>

      </form>
      <div class="topregister">
        <a href="http://gamers-league.com/forums/user"><input name="button" type="submit" class="account" id="button" value="" /></a>
      </div>
<?php endif;?>

【讨论】:

  • 检查我的编辑注销 url 放置正确,还有你的要求是什么?
  • 好的,我用你所做的更新了它,但它仍然在 php.ini 之后清除了其余的内容。我想做的是让人们可以登录,如果他们登录了,它将显示注销和帐户。这就是它应该看起来的唯一工作。一个即时通讯链接只是 css 而不是真正的登录 gamers-league.com/wild-star-home
  • ok ,而不是检查客人状态尝试类似 if((int)$user->id == 0) 其余的事情都是正确的。
  • 将您的错误报告转为开发(在全局配置中)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 2010-11-23
  • 2011-03-12
  • 2015-04-13
  • 2014-04-13
相关资源
最近更新 更多