如何在javascript中混合使用php?

如何在javascript中混合使用php?,javascript,php,Javascript,Php,我有一个php代码,如下所示,其中有一个if条件 php: if(mysqli_num_rows($result1) > 0){ // Line X while($row = mysqli_fetch_array($result1)){ if($row['open'] == "true") { if(!isset($_SESSION['admin'])) { $message = "user

我有一个php代码,如下所示,其中有一个if条件

php:

if(mysqli_num_rows($result1) > 0){   // Line X
    while($row = mysqli_fetch_array($result1)){
        if($row['open'] == "true") {
                if(!isset($_SESSION['admin'])) {
                    $message = "user " . $row['user_name'] . " is currently editing the form. Want to take over ?";  // Line B
                    echo "<script type='text/javascript'>if(confirm('$message')) {   } else {  };</script>";   // Line A                        
                    }
            break;
        }
    }
}

如果您避免将两种不同的语言混合在一起,这是一种很好的做法

当混合使用这两种代码时,代码的复杂性会增加

既然你需要答案,就在这里

echo "<script type='text/javascript'>if(confirm(" . $message . ")) {   } else { };</script>";
echo“如果(确认(“.$message”){}else{};”;
在echo的双引号/单引号(“/”)中,所有内容都被视为一个字符串,因此要访问PHP变量,需要使用连接方法来使用该PHP变量

如果(确认(“.$message”))

更新

您需要遵循上述相同的步骤。您需要使用字符串连接

但这将是非常复杂的,并且很难进行调试


您可以使用一种更好的方法来使用
XHR请求
,或者您可以
设计
PHP代码,以更好的方式将其与JavaScript代码一起使用。

不幸的是,user1950349,这比看起来要复杂一点,因为您的想法更接近于桌面应用程序,其中有一个消息循环,允许代码响应用户输入。但是通过php生成并通过internet发送的网页,我们没有消息循环。因此,我们找到了一种方法,让服务器和用户的计算机在不加载任何额外网页的情况下来回发送消息


这就是AJAX发挥作用的地方;然而,如何在您的用例中使用它的解释将取决于您如何实现AJAX。例如,您可以使用jQuery或其他javascript库。

PHP在服务器上运行,JS在客户端上运行。因此,“让PHP代码在JS条件中运行”的唯一方法是使用JS(本身,在条件中)向服务器发出另一个请求,然后可以用PHP处理。XHR是一种常见的方法,HTML表单提交也是如此。在a行,我将收到一条警告消息“用户a当前正在编辑表单。是否要接管?“确定并取消。单击“确定”后,我希望执行php代码。首先,您应该去确保您理解了其中的解释。(目前,它没有给人以您确实理解的印象?)@CBroe我确实理解客户端和服务器端编程语言之间的区别。我将详细解释我的问题。我只希望一个用户用php编辑表单。当任何用户登录时,我假设他/她正在用php编辑表单。当第二个用户想同时登录时,警报消息将显示,用户A是c当前正在编辑表单。要接管吗?然后将显示“确定”和“取消”复选框。单击“确定”,我必须登录第二个用户,因此我需要将sql查询放在if块的大括号内。我的方法正确吗?我已修改了我的问题。我的意思是说在if块的大括号内。@user1950349可以使用相同的连接,但t将非常复杂,因此更好的方法是对代码进行一些修改,我已经更新了答案,请看一看。
echo "<script type='text/javascript'>if(confirm(" . $message . ")) {   } else { };</script>";