0

这似乎应该很容易,但我一辈子都无法让它工作,我正在检查查询字符串中的一个变量,如果它返回是,它会重定向到一个新页面。如果它返回 no 我希望它在表单上方显示错误消息。

我的问题是显示错误消息,它在 var=Yes 时重定向,但是当它给我 var=no 时,我无法让它显示错误消息。如果我将 $errormsg 替换为 header(..); 它有效,所以我知道这不是我的 if 语句。

if (isset($_GET['var'])) {
            $var = $_GET['var'];
            $errormsg = '';
            if ($var == 'Yes') {
                header( 'Location: http://www.google.com' ); exit;
            }
            else if ($var == 'no') {
                $errormsg = 'This is an error message.';
            }

        };

这是表单上方的错误消息:

<div class="errormsg"><?php echo $errormsg; ?></div>

我的 PHP 能力有限,我无法弄清楚我做错了什么,任何帮助将不胜感激。

谢谢!

4

2 回答 2

0

尝试直接在 if 块下回显 $errormsg 而不使用任何 HTML。看看你的文字是否被退回。

认为您也可以从最后一个花括号中删除那个半冒号

于 2013-04-02T20:19:08.533 回答
0

我的猜测是 $var 没有返回您所期望的(可能是“否”而不是 mjayt 在评论中建议的“否”。

第一步是调试,并确定 $var 实际返回的内容。尝试简单的打印语句并从那里开始。

于 2013-04-02T20:14:54.320 回答