我查看了其他帖子,但找不到我正在寻找的答案。我是一个真正的新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
是对某个函数的调用(试图编辑其他人的代码就是正确的!)。我现在重新编写了错误语句并将其移动到该功能块。我现在得到了我希望的错误框,但是当我点击它时,我仍然被重定向到一个空白页面...我试着放回一个后面的声明,就像我在另一个线程上看到的那样但是没有用...
function died($error) {
echo '<script type="text/javascript"> alert("'.$error.'"); </script>';
history.back();
}
答案 0 :(得分:0)
您在单引号内有一个PHP变量。这意味着它将不进行插值。它需要在双引号内或使用连接。您还错过了JavaScript中该字符串值的引号:
echo '<script type="text/javascript"> alert("'.$error_message.'"); </script>';
仅供参考,其他代码中的正常功能是die()
而不是died()
。
答案 1 :(得分:0)
这只是一个疯狂的猜测,但是您可能会因为输入表单位于&#34; yourdomain.com/form.php"而被重定向每次提交。你的表单的动作属性是针对&#34; send.php&#34 ;;如果是这种情况(无法判断它是否来自您的示例),您将永远无法在同一页面上看到带有错误消息的表单...
祝你好运