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.";
}
解决方案
通过问题中给出的 PHP,我们可以看到一个警报语句被回显,但紧随其后的是对 header 的调用。这是在服务器上执行的,将立即执行。这是问题中报告的行为(直接转到 main.php 而没有看到警报)。
用户需要看到警报和重定向到 main 仅在他们准备好这样做(即响应警报)时发生。
因此重定向需要在客户端完成。改变:
echo '<script>alert("Record added successfully")</script>';
header("location: main.php");
至:
echo '<script>
alert("Record added successfully");
window.location="main.php";
</script>';
然后用户应该会看到警报,他们的系统将等待他们响应它,然后再重新定位到 main.php
推荐阅读
- jquery - JQuery .nextUntil() 选择标题进入 li
- javascript - 如何创建多个popper实例?
- r - 如果 X 中的列为 FALSE,则删除 Y 中的相同列?
- r - 错误:`position` 必须是字符串或位置对象,而不是具有类标签的 S3 对象
- ios - registerUserNotificationSettings 没有触发代表并且推送通知无法正常工作我的项目
- java - 垃圾收集如何识别孤立对象?
- scala - 在 <...>.sequence 方法上列出“快速失败”的状态单子列表?
- ios - 如何使用带有参数的 Alamofire 在服务器上上传图像
- python - 定义块大小时,Dask bag 卡在处理中,未定义时仅使用一名工作人员
- asp.net-mvc - 获取 webAPI 的当前 [控制器]