2

我需要创建一个在 Joomla 中注销的按钮,我的意思是,用户通常会进入会话,但必须按下我创建的按钮才能关闭此会话,我知道如何检查是否有任何用户进入了会话,我知道如何要显示按钮,我不知道如何使该按钮关闭实际的用户会话(注销)。

这是我的基本代码:

<?php $user =& JFactory::getUser(); ?>
<?php if ( ($user->id)==0 ) : ?>

    //***code for not opened session***

<?php else : ?>

    <form id="form1" name="form1" method="post" action="">
      <input type="button" name="button" id="button" value="Close Session" />
    </form>

<?php endif ?>

如何使该按钮关闭 joomla 2.5 会话,我检查了 API 页面,但没有找到。

4

7 回答 7

7

要创建注销按钮,您可以使用“按钮”类创建链接。

在 Joomla > 1.7(也是 2.5.x)中,您需要 JUtility::getToken() 部分来使登录成功:使用可选的“return”部分将用户重定向回单击按钮时用户所在的页面

<a class="button" href="<?php echo JRoute::_('index.php?option=com_users&task=user.logout&'. JUtility::getToken().'=1'); ?>">
    Logout
</a>

如果要重定向回用户单击注销按钮时所在的页面,请添加 base64 编码的返回参数:

<a class="button" href="<?php echo JRoute::_('index.php?option=com_users&task=user.logout&'. JUtility::getToken().'=1&return='.base64_encode(JURI::current())); ?>">
    Logout
</a>
于 2012-11-13T12:22:11.413 回答
4

正确的链接实际上是

JRoute::_('index.php?option=com_users&task=user.logout&'. JUtility::getToken() .'=1');
于 2012-07-20T13:36:13.070 回答
1

这也适用于 joomla 2.5。我用@Beatniak 代码中的 $_SERVER['REQUEST_URI'] 交换了 JURI::current()

<a class="button" href="<?php echo JRoute::_('index.php?option=com_users&task=user.logout&'. JUtility::getToken().'=1&return='.base64_encode($_SERVER['REQUEST_URI'])); ?>">
    Logout
</a>
于 2013-08-03T22:56:58.747 回答
1

你也可以为 Joomla 2.5 试试这个

<a href="index.php?option=com_users&task=user.logout&<?php echo JUtility::getToken(); ?>=1">
<input  type="button" name="Submit" class="button" value="Logout">
</a>

对我有用

于 2014-01-23T09:48:12.153 回答
0

链接到 php 页面

<a href="/link.php">Sign Out</a>

在 php 页面上,只需结束会话,然后重定向到新页面。

<?php
    session_destroy();   //session is now over


    header( 'Location: http://www.yoursite.com/welcomepage.php' ) ; //relink to a page, with user logged out

?>

用户现在已注销,并重定向到欢迎页面

于 2012-03-12T19:12:13.010 回答
0

使用此链接 -

http://www.domain.com/index.php?index.php?option=com_user&task=user.logout&token=<?php echo JUtility::getToken(); ?>
于 2012-03-13T00:59:29.983 回答
0

使用 Joomla 2.5,您需要创建一个名为 Logout 的新菜单项,然后选择菜单类型为 User Manager - Login Form。

如果用户已登录,则这样做会将他们带到带有注销按钮而不是登录表单的页面。

此外,如果您将访问权限设置为仅为注册用户显示此注销菜单项。

这是一个非常简单的解决方案,无需任何编码知识。确实应该有一个用户管理器的菜单项选项 - 注销。

于 2013-05-17T13:34:39.433 回答