php - 为什么在 php 中运行 javascript 警报后我会被重定向到空白页面?
问题描述
注册表单,当用户名留空时,这是将在 script.php 中运行的代码
if (empty($_POST['username'])) {
echo "<script type = 'text/javascript'> alert('You must enter a username')</script>";
exit();
警报会在浏览器上弹出,然后在代码运行后尝试加载 script.php,导致不久后弹出一个空白页面。如何解决这个问题?
解决方案
您的代码示例有两个错误。
首先,显而易见的:
exit();
将导致 PHP 脚本立即停止。因此,之后的任何代码/输出都不会被执行/渲染。其次,如果你想使用 javascript 检查表单输入,请在提交表单之前进行。也就是说,拦截提交按钮的单击操作,运行您的验证,并且只有在没有问题的情况下才将表单信息发送到服务器。
推荐阅读
- ember.js - Rest Adapter根据路由设置动态主机和标头
- git - git show 命令是否需要访问网络?
- wordpress - 按角色重定向 BuddyPress 页面
- reactjs - 是否可以在reactjs中慢慢隐藏组件?像淡出一样的东西?
- spring - 如何在节点(不同服务器)之间分配批处理作业事件的负载
- angular - 如何在 Angular 4 中解析 Json 响应
- java - 增加 JSpinner 箭头按钮的宽度
- java - 显示图库中的图片时,应用程序崩溃
- html - 如何将数据动态绑定到 ng2-charts 中的 baseChart
- python - 分割图像中的陷印区域