首页 > 解决方案 > 为什么在 php 中运行 javascript 警报后我会被重定向到空白页面?

问题描述

注册表单,当用户名留空时,这是将在 script.php 中运行的代码

if (empty($_POST['username'])) {
    echo "<script type = 'text/javascript'> alert('You must enter a username')</script>";
    exit();

警报会在浏览器上弹出,然后在代码运行后尝试加载 script.php,导致不久后弹出一个空白页面。如何解决这个问题?

标签: php

解决方案


您的代码示例有两个错误。

首先,显而易见的:

exit();

将导致 PHP 脚本立即停止。因此,之后的任何代码/输出都不会被执行/渲染。其次,如果你想使用 javascript 检查表单输入,请在提交表单之前进行。也就是说,拦截提交按钮的单击操作,运行您的验证,并且只有在没有问题的情况下才将表单信息发送到服务器。


推荐阅读