如何在onclick按钮中执行php [重复]

Posted

技术标签:

【中文标题】如何在onclick按钮中执行php [重复]【英文标题】:How to execute php in onclick button [duplicate] 【发布时间】:2016-03-02 15:22:30 【问题描述】:

您好需要帮助才能在 html 中运行以下 php

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 [重复]

如何让一个按钮自动触发,自动执行onclick鼠标单击事件. 默认已点击.

button按钮如何在onclick中调用java后台函数

如何让一个按钮自动触发,自动执行onclick鼠标单击事件. 默认已点击.