Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用函数从if语句中控制确认警报_Php_Javascript_Confirm - Fatal编程技术网

Php 调用函数从if语句中控制确认警报

Php 调用函数从if语句中控制确认警报,php,javascript,confirm,Php,Javascript,Confirm,晚上好。。 我有一个表单,您可以将工作分配给工作人员,但是,如果该工作已经分配,则用户可以选择重新分配或返回上一页。 所以我试图为确认警报编写语法,根据用户的选择将其重定向到一个或另一个页面, 我把它放在头部,它是这样的: function show_confirm() { var con = confirm("Already assigned.. would you like to reassign?"); if (con ==true) { window.loc

晚上好。。 我有一个表单,您可以将工作分配给工作人员,但是,如果该工作已经分配,则用户可以选择重新分配或返回上一页。 所以我试图为确认警报编写语法,根据用户的选择将其重定向到一个或另一个页面, 我把它放在头部,它是这样的:

function show_confirm() {
    var con = confirm("Already assigned.. would you like to reassign?");
    if (con ==true) {
       window.location = "reassign.php"
    } else {
       window.location = "index.php"
    }
 }
if ($num!=0) {
   echo '<script type="text/javascript">show_confirm();</script>';
} else { 
   //irrelevant code
}
问题是:如何根据if语句调用此函数?我在互联网上看到过一些例子,人们将函数(而不仅仅是调用它)直接放在if语句中,但这不是混合了不同种类的脚本吗? 所以如何在此if语句中调用函数? 我试过这个,但没用:

$flat=$_POST['flat'];
$check= mysql_query("SELECT * FROM assignment WHERE flat = '$flat'");
$num= mysql_num_rows($check);
if ($num!=0) {   show_confirm();
 } else { //irrellivant code

由于这是一个JavaScript函数,您只需将函数本身放在标题中,然后在PHP中,您可以在if中输出对函数的调用,如下所示:

function show_confirm() {
    var con = confirm("Already assigned.. would you like to reassign?");
    if (con ==true) {
       window.location = "reassign.php"
    } else {
       window.location = "index.php"
    }
 }
if ($num!=0) {
   echo '<script type="text/javascript">show_confirm();</script>';
} else { 
   //irrelevant code
}
如果($num!=0){
回显“show_confirm();”;
}否则{
//无关代码
}

PHP是一种服务器端脚本语言,而JavaScript是客户端脚本语言。您不能像以前那样直接从服务器端调用JavaScript函数。但是,您可以像我在示例中所做的那样,通过PHP将javascript输出到页面。

是的,您试图在一个进程中混合使用PHP(服务器端)和javascript(客户端),但这是行不通的

当您提交表单以检查他们是否已经被分配时,您需要将他们重定向到确认页面,从那里您将有“是/否”按钮链接到重新分配和返回页面

最好的解决方案实际上是用AJAX处理这个问题,但考虑到本质问题,我认为最好还是坚持使用非AJAX工作流


让我知道这是否有意义,如果没有,我将添加一些更详细的信息

您试图在PHP代码中调用JavaScript函数。这不会像那样工作的…你建议的是创建一个额外的页面来确认请求,我知道怎么做。但是我试图通过一个警报来做这件事。。。这不可能吗?当然可能,只是更复杂而已。您需要研究ajax,它将使您能够向php脚本发出请求,如果已经分配了用户,则该脚本可以解决问题,然后显示警报。确定。。那将需要很多的学习。。好的..问题:当你在按钮标签内的:onclick=“function()”这样的地方调用函数时,它是如何工作的?这也不起作用。。事实上,我在发帖之前也试过了。。我现在又尝试了一次,但是没有效果。如果它被输出到页面上的正确位置,它应该可以工作,你是否在HTML页面的主体中输出它?好的。。它确实起作用了……这是一个愚蠢的打字错误(和往常一样)。。非常感谢你