我有以下几行代码用于插入记录。我想显示一个警告消息框,说明已成功添加记录。但是,记录已成功插入,但消息框未显示,并直接打开main.php文件。如何显示消息以及打开main.php
$stmt = $link->prepare("INSERT INTO users (name, address, mobile,
email) VALUES ('$name', '$address', '$mobile', '$email');
if(mysqli_stmt_execute($stmt)){
echo '<script>alert("Record added successfully")</script>';
header("location: main.php");
exit();
} else{
echo "No record added. Something wrong.";
}
答案 0 :(得分:0)
通过问题中给出的PHP,我们可以看到回显了一个警报语句,但是紧随其后是对标头的调用。这是在服务器上执行的,将立即执行。这是问题中报告的行为(直接进入main.php而不显示警报)。
需要的是,用户只有在准备就绪时(即响应警报),才能看到警报并重定向到主服务器。
因此,重定向需要在客户端进行。 更改:
echo '<script>alert("Record added successfully")</script>';
header("location: main.php");
收件人:
echo '<script>
alert("Record added successfully");
window.location="main.php";
</script>';
然后用户应会看到警报,并且系统将等待他们响应警报,然后再重新定位到main.php