无法从php回显javascript警报

无法从php回显javascript警报,javascript,php,Javascript,Php,我已经在寻找答案,但我知道如何从php获得警报,我只是不知道我在这段特定代码上做错了什么。 在添加if语句之前,我一直在工作 if ($errors) { echo "<script type='text/javascript'>"; echo "alert('Records Were Uploaded');"; echo "window.location.href = 'EmployeePicker.php';"; e

我已经在寻找答案,但我知道如何从php获得警报,我只是不知道我在这段特定代码上做错了什么。
在添加if语句之前,我一直在工作

if ($errors) {
        echo "<script type='text/javascript'>";
        echo "alert('Records Were Uploaded');";
        echo "window.location.href = 'EmployeePicker.php';";
        echo "</script>";
    } else {
        echo "<script type='text/javascript'>";
        echo "alert('There was a problem with your file');";
        echo "window.location.href = 'csvUpload.php';";
        echo "</script>";
    }
if($errors){
回声“;
echo“警报('记录已上载');”;
echo“window.location.href='EmployeePicker.php';”;
回声“;
}否则{
回声“;
echo“警报('您的文件有问题');”;
echo“window.location.href='csvUpload.php';”;
回声“;
}
刚开始的时候效果很好

        echo "<script type='text/javascript'>";
        echo "alert('Records Were Uploaded');";
        echo "window.location.href = 'EmployeePicker.php';";
        echo "</script>";
echo”“;
echo“警报('记录已上载');”;
echo“window.location.href='EmployeePicker.php';”;
回声“;
如果你把所有事情都说出来,就做吧

        echo "<script type='text/javascript'>";
        echo "alert('There was a problem with your file');";
        echo "window.location.href = 'csvUpload.php';";
        echo "</script>";
echo”“;
echo“警报('您的文件有问题');”;
echo“window.location.href='csvUpload.php';”;
回声“;
这是行不通的。我很困惑。为什么第二个警报不起作用是没有道理的

我忘了提到,在上面的if语句中,第一个警报将起作用,第二个警报我无法触发


很抱歉造成混淆,$错误是一个错误。如果是真的,上传了一个文件,如果是假的,则没有上传。

我认为你做的与你想要的相反: 您的if案例与内部执行的操作不匹配。 也许你应该:

if (!$errors) {
        echo "<script type='text/javascript'>";
        echo "alert('Records Were Uploaded');";
        echo "window.location.href = 'EmployeePicker.php';";
        echo "</script>";
    } else {
        echo "<script type='text/javascript'>";
        echo "alert('There was a problem with your file');";
        echo "window.location.href = 'csvUpload.php';";
        echo "</script>";
    }
只要你愿意:)


[编辑]注意,根据
$errors
保留的内容(整数或数组),您可以通过
检查是否没有错误$如果是整数或
,则出现错误
!计数($errors)
if数组


[编辑]以独立方式尝试第二段代码

如果你需要追踪什么是错误的,你需要一点一点地隔离! 首先尝试将
code 1
作为一个新的php文件,如果它没有在您的系统上发出警报和重定向,则说明您的配置有问题。 如果它起作用,那么代码逻辑中就有错误。 通过首先将
$errors
变量设置为1或0,我还可以在没有pb的情况下运行
code 2

代码1

<?php
$errors = 1;

    echo "<script type='text/javascript'>";
    echo "alert('There was a problem with your file');";
    echo "window.location.href = 'csvUpload.php';";
    echo "</script>";

?>

它应该能发出良好的回声。尝试检查您的php错误日志文件,看看是否有任何线索,在那里的问题

我个人的一个小偏好可能会帮助你,那就是把逻辑分开一点。请看下面

<?php

// STATUS
$errors = true;

// OUTPUTS
$upload_success = "<script type='text/javascript'>";
    $upload_success .= "alert('Records Were Uploaded');";
    $upload_success .= "window.location.href = 'EmployeePicker.php';";
$upload_success .= "</script>";

$upload_fail = "<script type='text/javascript'>";
    $upload_fail .= "alert('There was a problem with your file');";
    $upload_fail .= "window.location.href = 'csvUpload.php';";
$upload_fail .= "</script>";

//LOGIC
if ($errors) {
    echo $upload_success;
} else {
    echo $upload_fail;
}

?>

检查Javascript控制台是否有错误。我尝试了你的代码,效果很好。问题出在别处,或者您没有正确复制。我同意@Barmar的说法,您的代码对我来说运行良好。除了
$errors
变量的模糊性(如果为真——表示存在/are/errors——它将带您进入页面,说明一切正常)之外,一切正常。也许您可以展示
$errors
变量是如何设置的?您可能还需要发布php代码……是的,他将
if
向后设置。但问题是,当他完全取出
if
时,第二块回声就失败了。“所以这里有一个不同的问题。”巴尔马,这个问题在我们回答后被编辑了。现在答案可能不准确。我稍后会检查:)编辑只是以“对不起”开头的一行。没有任何代码。
<?php
$errors = 1;
if ($errors) {
        echo "<script type='text/javascript'>";
        echo "alert('Records Were Uploaded');";
        // echo "window.location.href = 'EmployeePicker.php';";
        echo "</script>";
    } else {
        echo "<script type='text/javascript'>";
        echo "alert('There was a problem with your file');";
        // echo "window.location.href = 'csvUpload.php';";
        echo "</script>";
    }
?>
<?php

// STATUS
$errors = true;

// OUTPUTS
$upload_success = "<script type='text/javascript'>";
    $upload_success .= "alert('Records Were Uploaded');";
    $upload_success .= "window.location.href = 'EmployeePicker.php';";
$upload_success .= "</script>";

$upload_fail = "<script type='text/javascript'>";
    $upload_fail .= "alert('There was a problem with your file');";
    $upload_fail .= "window.location.href = 'csvUpload.php';";
$upload_fail .= "</script>";

//LOGIC
if ($errors) {
    echo $upload_success;
} else {
    echo $upload_fail;
}

?>