0

从数据库验证用户数据后,我想使用 php 代码更新数据库中的一些值。

我试过了

var answer = confirm("Do you want to Checkout?");
if(answer==true)
{
<?php MY UPDATE COMMAND ?>
}

但是即使 answer==false 也会执行更新命令

请帮助我解决我的问题。

谢谢

4

3 回答 3

1

以下是为您提供的解决方案:

第一次使用 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>
于 2012-10-10T08:24:45.910 回答
0

这是行不通的,因为 PHP 在服务器端执行,甚至在任何 javascript 发送到浏览器之前。所以会发生的是你MY UPDATE COMMAND将首先执行,在 Javascript 之前 - 在浏览器中执行客户端。

如果您想在确认为真的情况下执行一些 PHP,那么您将需要提交一个表单,或者在此时执行 AJAX 调用。我建议阅读 PHP 和 Javascript 的执行方式。

于 2012-10-10T08:12:10.457 回答
0

javascript 是在客户端浏览器中运行的客户端程序(在这种情况下)。Php 是一种服务器端脚本语言。基本上 php 生成一个 html 文件并将其发送给客户端。所有 php 命令都在 javascript 发生任何事情之前执行,因为 php 只是生成一个 html 文件。javascript 在客户端浏览器中加载。

因此 php 命令将始终运行,因为它正在被调用。PHP 不知道它被 javascript 代码所包围,并且什么也不做。它只是在它发送的 html 文件中包含 javascript 代码。

于 2012-10-10T08:12:30.247 回答