PHP脚本中没有显示Java警告弹出


Java alert pop up not showing in PHP script

我已经看了其他的帖子,并不能找到我想要的答案。我是一个真正的新PHP程序员…

我目前有以下代码:

$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
if(strlen($error_message) > 0) {
    died($error_message);
}

当前重定向到显示$error_message的空白页面。我真正想要的是弹出一个错误提示框,让用户停留在同一个页面上。我试着这样做来得到这个盒子(基于我在这里找到的其他帖子):

$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
if(strlen($error_message) > 0) {
    echo '<script type="text/javascript"> alert($error_message); </script>';
}

,但我仍然没有弹出,现在没有died语句,形式表现为成功…我也尝试过在PHP之外编写java块,具有相同的行为。

感谢所有的帮助,记住,要友好-我还在学习!

更多信息:

好的,原来dies是一个函数的调用(服务于我试图编辑别人的代码!)。现在,我已经重新编写了错误语句,并将其移动到该函数块中。我现在得到了我所希望的错误框,但当我点击它时,我仍然被重定向到一个空白页面…我试着在另一个线程上看到一个back语句,但无济于事…

function died($error) {
    echo '<script type="text/javascript"> alert("'.$error.'"); </script>';
    history.back();
}

在单引号内有一个PHP变量。这意味着它将而不是被插入。它需要放在双引号内或使用连接。JavaScript中也缺少字符串值周围的引号:

echo '<script type="text/javascript"> alert("'.$error_message.'"); </script>';

仅供参考,在您的其他代码中正确的功能是die()而不是died()

这只是一个大胆的猜测,但也许你被重定向在每次提交,因为你的输入表单位于"yourdomain.com/form.php"和你的表单的动作属性是针对"send.php";如果是这种情况(这是不可能告诉它是否从你的例子),你将永远无法看到表单与错误信息在同一页面上…

好运