警报消息框不显示

时间:2020-09-20 05:12:38

标签: php

我有以下几行代码用于插入记录。我想显示一个警告消息框,说明已成功添加记录。但是,记录已成功插入,但消息框未显示,并直接打开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.";
 }

1 个答案:

答案 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