【问题标题】:php mysql_query inside javascript confirmation [closed]javascript确认中的php mysql_query [关闭]
【发布时间】:2012-10-25 19:50:09
【问题描述】:

我有一个被表单调用的 PHP 文件,但里面的 javascript 代码不能正常工作。

<?php
  $var1 = $_POST['var1'];
  if($var1==1){
  ?>
    <script>
    if(confirmation('Some text')){ 
    <?                 
      mysql_query('update table set ...'); 
    ?>             
    }else{
      alert('error');
    }
    </script> 
  <?
  }
?>

发生的情况是,即使我在确认窗口中点击取消,mysql 查询也会被执行。 if($var==1) 指令只是作为演示。我在 javascript 代码之前有几个 ifs 和 mysql 指令。

【问题讨论】:

  • 这是糟糕的意大利面条代码。如果您的 Javascript 代码有问题,您必须查看 PHP 生成的最终结果。从浏览器的错误控制台开始。 (还要考虑不要动态生成 JS。它很少需要并且总是令人困惑。)
  • PHP 在服务器上运行;客户端上的 JavaScript。发生的事情是 mysql_query 在页面生成时正在运行 - 你在页面上按下什么按钮都没有关系。

标签: php javascript mysql confirmation


【解决方案1】:

PHP 是一种server-side 语言,它在client-side Javascript 执行之前执行。因此,它仅在 PHP 脚本运行后处理条件检查。您需要使用AJAX 来实现这些目的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多