错误消息功能

时间:2010-04-22 07:11:26

标签: php

我正在尝试将消息插入函数

function addMessage($item) {
     if ($result) {
      $message =  '<p class="ok">
                    <span> Item added </span>
                   </p>
                  ';
                  header("Refresh: 2; url=?page=$item");
        }
        else{
            $message = '<p class=not><span>There is an error blah blah</span></p>';
        }
        return $message;

}

当我使用它时:addMessage('contents')它只返回第二个条件。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:5)

您正在检查$result内的if,但在此之前既未分配任何值,也未将其声明为global。我想你打算检查$item

if ($item) {

答案 1 :(得分:1)

脚本中是否定义了$result?请改用if ($item)

要非常小心,PHP允许使用未定义的变量。

答案 2 :(得分:1)

茉莉花

您的函数总是返回第二个条件,因为您没有为函数内部的$result赋值,或者在调用函数时(如其他单词提到的unicornaddict

为了让您的代码按照您可能想要的方式运行,您的功能应该是这样的:

function addMessage($item, $result) {
     if ($result) { // It will return this condition, case $result has any value assigned and is different from FALSE (boolean)
      $message =  '<p class="ok">
                    <span> Item added </span>
                   </p>
                  ';
                  header("Refresh: 2; url=?page=$item");
        }
        else{ // It will return this condition, case $result doesn't has any value assigned or is equal to FALSE (boolean)
            $message = '<p class="not"><span>There is an error blah blah</span></p>';
        }
        return $message;
}

然后你可以调用像你这样已经调用它的函数,但是不要忘记包含一个变量或值,它应该作为函数内的$result变量来处理

addMessage('contents', $result);

注意:

$message变量中,您有<p class=not>,且应为<p class="not">

请记住,在将任何实际输出发送到浏览器之前,必须先调用header()

希望它有所帮助。

答案 3 :(得分:0)

他们说了什么: - )

顺便说一下,一个像样的IDE(比如Zend)会分析你的代码并警告你这样的事情。

此类静态代码分析称为“linting”,因此google为“PHP lint”或查看Is there a static code analyzer [like Lint] for PHP files?等问题

但是这个代码示例非常小,我想你是一个初学者(没有进攻实习 - 我们都必须从某个地方开始),所以做了大量的阅读并收集了大量的工具和经验。

例如,一个像样的IDE(如Zend或Eclipse PDT)可以让你逐步执行你的代码,行nby行,并检查每个变量的值,然后你应该看到问题。

欢迎使用PHP并祝您好运!