如何在没有表单或Javascript的情况下触发logout.php脚本?

如何在没有表单或Javascript的情况下触发logout.php脚本?,php,javascript,html,css,Php,Javascript,Html,Css,我想有一个按钮,它可以让用户在单击时注销。 但我不想为此创建表单,也不想创建“onclick”处理程序。 还有别的办法吗 <p class='loginposition normal'> ."$_SESSION['email']".<form action='/logout.php' method='post'><input class='logout-submit button' type='submit' style='float:right;' id='log

我想有一个按钮,它可以让用户在单击时注销。 但我不想为此创建表单,也不想创建“onclick”处理程序。 还有别的办法吗

<p class='loginposition normal'>
."$_SESSION['email']".<form action='/logout.php' method='post'><input class='logout-submit button' type='submit' style='float:right;' id='logoutbtn' value='Log Out'></form>
</p>";

.“$\会话['email']”。

”;
我想让他们在一个原始的:
user@user.com[注销]

不,您必须使用表单或Javascript。

这怎么办(您必须编辑logout.php):


如果您想要POST请求,那么您需要Ajax(这是一种用于注销的愚蠢技术)或表单

由于注销不是一个可重复的操作,因此POST是执行此操作的正确工具

克服你的感觉,用一个表格

您可以通过将段落放在表单中而不是相反的方式来处理HTML无效和额外换行这两个问题。


<input class='logout-submit button' type='button' style='float:right;' id='logoutbtn' value='Log Out' onClick='window.location.href="./logout.php"'>

如果您想使用按钮,我认为这是最短的方法。

您可以使用jQuery的ajax方法,类似这样的方法

$('#logout-button').click(function(){
$.ajax({
    type: "POST",
    url: "logout.php",
    success: function() {
       alert("You have been successfully logged out");
       window.location.href = "home.php";
    },
    error: function() {
        alert("Error! Something unexpected happened");
    }
});
return false;
});

我想这是可行的…

如果你熟悉as3/as2,你可以使用一个flash按钮向logput.php发送一个POST请求,你可以使用get请求注销,但是这违反了get和HEAD方法不应该有采取除数据检索以外的行动的意义的原则。如果这不是问题的话m、 只需使用一个普通的锚元素,并将其样式设置为按钮或其他任何东西。您必须使用PHP来破坏会话,否则任何人都可以访问其他人的页面。为什么不呢?可能有一种解决方案可以使用这些方法中的一种并满足您的需要链接可以自动跟随(例如,通过Precher)并自动注销用户。GET请求不适合此任务。@Quentin这是现实情况吗?即使stackoverflow也会使用
来执行此任务logout@rickyduck-是的。论坛管理员以这种方式删除了整个论坛帖子页面。StackOverflow并不是web开发最佳实践的灯塔。如上所述,规范如我所说,没有js。这只是最短的方法。^^如果你不想使用表单或js之类的,你应该用一个简单的链接来处理它,如@silly said。。。
$('#logout-button').click(function(){
$.ajax({
    type: "POST",
    url: "logout.php",
    success: function() {
       alert("You have been successfully logged out");
       window.location.href = "home.php";
    },
    error: function() {
        alert("Error! Something unexpected happened");
    }
});
return false;
});