Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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
为什么Javascript执行不停止PHP执行?_Php_Javascript_Header - Fatal编程技术网

为什么Javascript执行不停止PHP执行?

为什么Javascript执行不停止PHP执行?,php,javascript,header,Php,Javascript,Header,我写的剧本遇到了麻烦 这是整个脚本。但问题只涉及两条线路 事实上,我有一个PHP条件,如果它得到尊重,它应该显示一个警报,如果没有,它应该执行以下脚本 最后,我有一个标题位置,可以让用户返回到上一页 问题是它不显示警报,它直接让用户返回。我想让用户单击“确定”以使脚本继续。有什么办法我能做到吗 <?php $sql="SELECT SUM(montant) as montantfactures, n_doss FROM `factures` WHERE `n_d

我写的剧本遇到了麻烦

这是整个脚本。但问题只涉及两条线路

事实上,我有一个PHP条件,如果它得到尊重,它应该显示一个警报,如果没有,它应该执行以下脚本

最后,我有一个标题位置,可以让用户返回到上一页

问题是它不显示警报,它直接让用户返回。我想让用户单击“确定”以使脚本继续。有什么办法我能做到吗

<?php
$sql="SELECT SUM(montant) as montantfactures, n_doss
      FROM  `factures` 
      WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'
      GROUP BY `n_doss`";

$result=mysql_query($sql) or die;
while($data=mysql_fetch_assoc($result))
{
    $rqt="SELECT `interets`.*,
                 `les_taux`.*,
                 `decompte`.`principal_s`
          FROM   `interets`
          INNER JOIN `les_taux` ON `interets`.`type`=`les_taux`.`type`
          INNER JOIN `decompte` ON `interets`.`n_doss`=`decompte`.`n_doss`
          WHERE `interets`.`n_doss`='".$data['n_doss']."' 
          GROUP BY `date_modif` DESC
          LIMIT 1";
    $resultat=mysql_query($rqt) or die;
    $donnees=mysql_fetch_assoc($resultat);

    {$datefin=$donnees['date_fin'];}
    $datedepart=$donnees['date_depart'];
    if($donnees['date_fin']==date('Y-m-d'))
    {
        echo "<script type=\"text/javascript\">alert(\"les interets sont deja a jour\")</script>";
    }
    else
    {
        if($donnees['type']=='tc')
        {

            if($donnees['montant']==0)
            {

                $taux=($donnees['valeur']*1);
                $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                $interets=(($data['montantfactures']-$donnees['principal_s'])*$nbjours*$taux)/(365*100);
                $nouveauinterets=$donnees['montant']+$interets ;
                $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'
                    ";
                $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;


            }

            else
            {

                $taux=($donnees['valeur']*1);
                $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                $interets=(($data['montantfactures']-$donnees['principal_s'])*1*$taux)/(365*100);
                $nouveauinterets=$donnees['montant']+$interets ;
                $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;

            }
        }
        elseif($donnees['type']=='tleg')
        {

            if($donnees['montant']==0)
            {
                if($donnees['operateur']=="x")
                {
                    $taux=($donnees['valeur']*$donnees['variable']);
                    $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                    $interets=(($data['montantfactures']-$donnees['principal_s'])*$nbjours*$taux)/(365*100);
                    $nouveauinterets=$donnees['montant']+$interets ;
                    $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                    $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                    echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;
                }
                elseif($donnees['operateur']=="+")
                {
                    $taux=($donnees['valeur']+$donnees['variable']);
                    $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                    $interets=(($data['montantfactures']-$donnees['principal_s'])*$nbjours*$taux)/(365*100);
                    $nouveauinterets=$donnees['montant']+$interets ;
                    $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                    $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                    echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;
                }
            }
            else
            {
                if($donnees['operateur']=="x")
                {
                    $taux=($donnees['valeur']*$donnees['variable']);
                    $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                    $interets=(($data['montantfactures']-$donnees['principal_s'])*1*$taux)/(365*100);
                    $nouveauinterets=$donnees['montant']+$interets ;
                    $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                    $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                    echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;
                }
                elseif($donnees['operateur']=="+")
                {
                    $taux=($donnees['valeur']+$donnees['variable']);
                    $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                    $interets=(($data['montantfactures']-$donnees['principal_s'])*1*$taux)/(365*100);
                    $nouveauinterets=$donnees['montant']+$interets ;
                    $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                    $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                    echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;

                }
            }
        }
        elseif($donnees['type']=='tbce')
        {

            if($data['montantfactures']==0)
            {
                if($donnees['operateur']=="x")
                {
                    $taux=($donnees['valeur']*$donnees['variable']);
                    $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                    $interets=(($data['montantfactures']-$donnees['principal_s'])*$nbjours*$taux)/(365*100);
                    $nouveauinterets=$donnees['montant']+$interets ;
                    $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                    $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                    echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;
                }
                elseif($donnees['operateur']=="+")
                {
                    $taux=($donnees['valeur']+$donnees['variable']);
                    $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                    $interets=(($data['montantfactures']-$donnees['principal_s'])*$nbjours*$taux)/(365*100);
                    $nouveauinterets=$donnees['montant']+$interets ;
                    $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                    $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                    echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;
                }
            }
            else
            {

                if($donnees['operateur']=="x")
                {
                    $taux=($donnees['valeur']*$donnees['variable']);
                    $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                    $interets=(($data['montantfactures']-$donnees['principal_s'])*1*$taux)/(365*100);
                    $nouveauinterets=$donnees['montant']+$interets ;
                    $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                    $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                    echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;
                }
                elseif($donnees['operateur']=="+")
                {
                    $taux=($donnees['valeur']+$donnees['variable']);
                    $nbjours=round((strtotime($datefin) - strtotime($datedepart))/(60*60*24)-1);
                    $interets=(($data['montantfactures']-$donnees['principal_s'])*1*$taux)/(365*100);
                    $nouveauinterets=$donnees['montant']+$interets ;
                    $itc="UPDATE `interets` SET
                    montant     =   '".$nouveauinterets."',
                    date_fin= NOW() WHERE n_doss='".$donnees['n_doss']."'";
                    $rtq    =   mysql_query($itc) or die(__LINE__.mysql_error().$itc);
                    echo "<img src='images/tick_48.png' width='24'> Int&eacute;r&ecirc;ts correctement mis &agrave; jour pour le dossier n&deg;".$donnees['n_doss'].'<br>' ;
                }
            }
        }
    }
}
header('Location: ' . $_SERVER['HTTP_REFERER'] );
?>

Javascript无法停止php执行!javascript在客户端(浏览器)上运行,php在服务器上运行。如果写入头('Location:'.$\u SERVER['HTTP\u REFERER']),它会一直引导你去那里

如果我是你,我会修改此行并添加以下内容:

echo "<script type=\"text/javascript\">alert(\"les interets sont deja a jour\"); window.location = $_SERVER['HTTP_REFERER']
</script>"; 
echo“警报(\'les interets sont deja a jour\”);window.location=$\u服务器['HTTP\u REFERER']
"; 

当然,删除标题位置。

哪两行?如果你能提供一个更简单的脚本版本,把所有不相关的东西都从中删除,那就容易多了!问题在哪一行?
if(donnees['date-fin']==date('Y-m-d'))
行?很抱歉,第一行是javascript if($donnees['date\u-fin']==date('Y-m-d')){echo“alert(\'les interets sont deja a jour\)”)的下面一行,最后一行包含末尾的头位置。您的脚本将永远不会产生任何有意义的结果,无论你做什么,它都会立即重定向用户。您是否熟悉PHP/JS和浏览器的工作方式?根据代码判断-您是一名初学者(无意冒犯),您可能应该了解标题是什么是阻止脚本生成任何输出的原因。它的工作方式是这样的:你向服务器请求一些东西,然后服务器回复。它发送标题以通知浏览器发生了什么(资源已找到、未找到、已移动等),并发送响应(您尝试回送的内容)。由于首先解析标题,浏览器将注意到
位置
标题,它将重定向您,因为它不会尝试显示内容(在您的情况下,是JS,其中包含警报)。那么您的意思是没有办法进行某种暂时化?是的,您可以这样做。如果我理解的很好,你希望用户在警报后被重定向,对吗?我编辑了我的答案;)警报后是,但如果没有警报,则在脚本执行后