如何在onclick按钮中执行php [重复]
Posted
技术标签:
【中文标题】如何在onclick按钮中执行php [重复]【英文标题】:How to execute php in onclick button [duplicate] 【发布时间】:2016-03-02 15:22:30 【问题描述】:function runMyFunction()
$_SESSION["identificate"] = 'no';
session_destroy();
header('Location: Login.html');
---------------------------------------------------------
<div id="foo">
<button type="button" onclick="runMyFunction()">Logout
</button>
</div>
谢谢
【问题讨论】:
PHP 是一种服务器端语言。这意味着它在访问者在浏览器中看到输出之前执行。最好的解决方案是使用 javascript 向 php 文件创建重定向,并使用header('location: .. ')
将它们再次发送回去或使用 Ajax。
【参考方案1】:
您应该在jQuery
的帮助下执行ajax
调用。
我们可以使用简写方式.post
直接发出post请求。
首先将php
代码放在一个单独的文件中,名为logout.php
logout.php
function runMyFunction()
$_SESSION["identificate"] = 'no';
session_destroy();
//header('Location: Login.html'); we will move the redirect to the success handler of the ajax call
//call the function
runMyFunction();
然后在html
中包含jquery
并添加一个script
块,如下所示
<script type="text/javascript">
$(function()
$("#foo button").click(function()
$.post( "logout.php", function( data )
console.log("success");
window.location = "login.html"; // redirect moved here, after the logout happened successfully
);
)
);
</script>
您可以从按钮中删除onclick
属性,这样您的button
html 就会变成这个
<button type="button">Logout</button>
这就是你包含jQuery
的方式
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
【讨论】:
如果你要使用$("#foo button")
,那么按钮需要一个id。
foo
是包含按钮的 div 的 id,按钮不需要 id。除非我错过了什么。
啊,你可能是对的,Alex。我的错误;-)
编辑答案以在 ajax 成功回调中移动重定向
对不起,我正在使用 php 和 html,所以我对 js 和 jquery 不太了解。你制作的那个脚本会像我的按钮'foo'一样修改吗?我在那个脚本的哪里写我的“runMyfunction()”,这样当我点击按钮时它会执行它?以上是关于如何在onclick按钮中执行php [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用onclick一个带有多个按钮php的插入功能的按钮
如何使用 Android 样式来控制视图的 onClick 行为 [重复]
JavaScript不同的行为onload / onclick [重复]