在确认用户时执行特定代码但必须在php代码而不是onsubmit表单中激活确认框

时间:2012-10-10 08:05:33

标签: php javascript

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

我试过了

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

但即使answer == false

,也会执行update命令

请帮我解决问题。

由于

3 个答案:

答案 0 :(得分:1)

以下是适合您的解决方案:

1st - 使用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>

答案 1 :(得分:0)

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

如果要在确认为真时执行某些PHP,则需要提交表单,或者在此时进行AJAX调用。我建议阅读PHP和Javascript的执行方式。

答案 2 :(得分:0)

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

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