将操作/数据发布到Twitter Bootstrap注销按钮

时间:2012-09-25 19:25:16

标签: php html twitter-bootstrap

我正在使用Twitter Bootstrap(TWBS)来构建我的UI,并且在不使用表单时无法确定如何发布数据。我基本上采用TWBS的模板并尝试编辑它。我正在尝试将“注销”值发送回我的index.php页面,该页面应该嗅出该值并注销用户。我在HTML中的代码:

        <ul class="dropdown-menu">
          <li><a href="#">Profile</a></li>
          <li class="divider"></li>
          <li><a href="./" type="submit" name="action" value="logout" method="post">Sign Out</a></li>
          <li><a href= "./"
            <form method="post">
                <input type="hidden" name="action" value="logout">Sign Out
            </a></form>
          </li>
        </ul>

正如你所看到的,我也试图模仿一个表单来发布动作,但那也没有用。回到php代码,“嗅探器”是:

if (isset($_POST['action']) and $_POST['action'] == 'logout')
{
session_start();
unset($_SESSION['loggedIn']);
unset($_SESSION['email']);
unset($_SESSION['password']);
header('Location: .'); 
exit();
}

感谢您的帮助。

绳索

3 个答案:

答案 0 :(得分:2)

这与Bootstrap无关,它只是CSS +一点JS。

表单用于根据用户输入值格式化HTTP请求 - 在这种情况下,您只需要一个链接:

<a href="index.php?action=logout">Logout</a>

如果您想在Bootstrap中使用它,请添加类似:

的内容
<a href="index.php?action=logout" class="btn btn-primary">Logout</a>

顺便说一句,您只需通过POST方法将操作传递到您的php脚本 - 您最好引用$_REQUEST数组,然后根据$_SERVER['REQUEST_METHOD']做出决策。< / p>

答案 1 :(得分:0)

尝试:

        <ul class="dropdown-menu">
          <li><a href="#">Profile</a></li>
          <li class="divider"></li>
          <li><a href="#" onClick="document.getElementById('soForm').submit()">Sign Out</a></li>
          <li>"
            <form id="form" id="soForm" action="/" method="post">
                <input type="hidden" name="action" value="logout">Sign Out
            </form>
          </li>
        </ul>

您的问题是标签不是表单元素,因此您必须使用js来触发表单的提交操作。

查看W3CSchools有关表格和标签的信息,了解他们实际可以做些什么。

if (isset($_POST['action']) and $_POST['action'] == 'logout')
{
session_start();
unset($_SESSION['loggedIn']);
unset($_SESSION['email']);
unset($_SESSION['password']);
header('Location: /'); 
exit();
}

答案 2 :(得分:0)

您是否尝试过仅使用表单?在这种情况下,您实际上不必假装,您可以使用以下表单:

<li>
    <form method="post" action="./">
        <input type="hidden" name="action" value="logout" />
        <input type="submit" value="Sign Out" />
    </form>
</li>

如果你想要一个更复杂的按钮,你可以使用它,并将html放入其中。

<button type="submit"><i class="icon-user"></i> Sign out</button>
BTW,这不依赖于Twitter Bootstrap。您可以在任何有HTML的地方使用它。