从数据库验证用户数据后,我想使用 php 代码更新数据库中的一些值。
我试过了
var answer = confirm("Do you want to Checkout?");
if(answer==true)
{
<?php MY UPDATE COMMAND ?>
}
但是即使 answer==false 也会执行更新命令
请帮助我解决我的问题。
谢谢
从数据库验证用户数据后,我想使用 php 代码更新数据库中的一些值。
我试过了
var answer = confirm("Do you want to Checkout?");
if(answer==true)
{
<?php MY UPDATE COMMAND ?>
}
但是即使 answer==false 也会执行更新命令
请帮助我解决我的问题。
谢谢
以下是为您提供的解决方案:
第一次使用 AJAX。例如在 jQuery 的帮助下:
if (confirm('Do you want to Checkout?')) {
$.ajax({
url: 'logout.php'
}).done(function(){
// do something after php checkout, for example: go to home page
window.location.href = '/';
});
}
第二 - 是使用这样的链接:
<a href="checkout.php"
onclick="return confirm('Do you want to Checkout?')">
Checkout</a>
这是行不通的,因为 PHP 在服务器端执行,甚至在任何 javascript 发送到浏览器之前。所以会发生的是你MY UPDATE COMMAND
将首先执行,在 Javascript 之前 - 在浏览器中执行客户端。
如果您想在确认为真的情况下执行一些 PHP,那么您将需要提交一个表单,或者在此时执行 AJAX 调用。我建议阅读 PHP 和 Javascript 的执行方式。
javascript 是在客户端浏览器中运行的客户端程序(在这种情况下)。Php 是一种服务器端脚本语言。基本上 php 生成一个 html 文件并将其发送给客户端。所有 php 命令都在 javascript 发生任何事情之前执行,因为 php 只是生成一个 html 文件。javascript 在客户端浏览器中加载。
因此 php 命令将始终运行,因为它正在被调用。PHP 不知道它被 javascript 代码所包围,并且什么也不做。它只是在它发送的 html 文件中包含 javascript 代码。