如何显示带超时的警报框,然后使用php

时间:2017-11-30 07:49:55

标签: php

您好我必须设置一个消息框,当数据库表中已有特定数据时超时,然后重定向到另一个页面。我的问题是当页面被重定向而没有显示警告框时。

控制语句php:

$count=0;
$sql="SELECT main_sec_name from main_sec_temp";
if($r=mysqli_query($con,$sql)) {
    while($result= $r->fetch_row()) {
        $count=$count+1;        
    }
}   
if($count==0) { 
    if(mysqli_query($con,"INSERT INTO main_sec_temp(main_section_order,main_sec_name,main_number_of_ques,attempts) VALUES('','$sec_name','$no_question','$no_attempts')")) { 
        echo "Successfully Inserted";          
        header("location:index.php");       
    }else{        
        echo "Insertion Failed";        
    }
} else { //When Data is already exist 
    echo "<script>alert('already exist')</script>";
    header("location:index.php");   
}

1 个答案:

答案 0 :(得分:0)

您正在尝试在示例中混合使用服务器端(PHP)和客户端(Javascript)代码。使用header('Location:...')将由PHP执行,然后用户将有机会查看页面内容(在页面上显示任何内容之前还需要使用标题)。

另外,使用javascript alert()需要通过按OK按钮进行用户交互,因此您无法使用超时来重定向用户。

更好的方法是这样的:

/// display html message and   the javascript part of your code
echo "<h3 class='error'>Already exist</h3>";
echo "<script>";
echo "setTimeout(function(){ ";
echo "   document.location='index.php';";
echo "}, 3000);";  // redirect after 3 seconds
echo "</script>";