如何解决点击HTML按钮执行PHP脚本
我有一个PHP代码,可以完成很多工作,因此为了简化工作,我从代码中删除了不必要的代码。
在下面的if块中,我需要创建一个带有该$message
的弹出窗口,并且该窗口上应该具有ok
和cancel
按钮。单击ok
按钮后,如果可能(或者它也可以是另一个PHP文件),我需要在同一文件中执行其他一些PHP代码;如果单击cancel
按钮,则它不应执行任何操作
<?PHP
// ..... some other code
if (!isset($_SESSION['admin'])) {
$text = "hello world";
// create a pop up window with $message on it along with "ok" and "cancel" button
echo "<script type='text/javascript'>confirm('$text');</script>";
}
// ..... some other code
?>
我可以使用JS modal
或HTML/CSS modal
的任何东西,只要我可以在ok
和cancel
按钮上进行一些操作即可。这可能吗?我尝试环顾四周,但无法弄清楚该怎么做。
更新:
下面是我更新的hello.PHP
文件,在其中我使用了Oliver建议。我尝试使用下面的代码执行我的JavaScript函数secondUser
,但是单击Sad :( - invalid session
按钮后,弹出窗口显示为ok
。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" type="text/javascript"></script>
<script>
function secondUser() {
$.post( "ajax/test.PHP",function( data ) {
if (data.success) {
alert(data.message);
} else {
alert("Sad :( - invalid session");
}
});
}
</script>
<?PHP
// ..... some other code
if (!isset($_SESSION['admin'])) {
$text = "hello world";
// create a pop up window with $message on it along with "ok" and "cancel" button
echo "<script type='text/javascript'>if (confirm('$text')) { secondUser(); };</script>";
}
// ..... some other code
?>
现在我无法弄清楚上面的代码有什么问题?我只想在其他PHP文件中使用Ajax执行我的test.PHP
。
解决方法
您可以使用jQuery库通过AJAX发出请求。首先是注册按钮。
<button id="cool-btn">My button</button>
按钮运行后,可以将此脚本添加到html或JS文件中。
<script>
$(document).ready(function() {
$("#cool-btn").click(function(){
attemptRequest();
});
});
</script>
现在,您需要创建一个名为trypRequest的函数,该函数向您的PHP表单发出AJAX请求。
function attemptRequest() {
$.post( "ajax/test.php",function( data ) {
if (data.success) {
alert(data.message);
} else {
alert("Sad :( - invalid session");
}
});
}
然后,您需要在ajax文件夹中的名为test.php的PHP脚本中进行会话检查,并返回适当的数据。
$data = new stdClass();
$data->success = false;
$data->message = "";
if (isset($_SESSION['pageadmin'])) {
$data->message = "hello world";
$data->success = true;
}
return json_encode($data);
希望那有帮助:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。