为了账号安全,请及时绑定邮箱和手机立即绑定

变量已经在方法中定义但执行的时候还报错?

Notice: Undefined variable: link_start in D:\wamp\www\mysqli\comment.class.php on line 70这个变量已经定义在这个方法里面了,但是那个首页还是报错?

这下面是comment.class.php中的代码
public function output(){
        if($this->data['url']){
            $link_start="<a href='".$this->data['url']."' target='_blank'>";

            $link_end="</a>";
        }
        $dateStr=date("Y年m月d日 H:i:s",$this->data['pubTime']);
        $res=<<<EOF
        <div class='comment'>
            <div class='face'>
                {$link_start}
                    <img width='50' height='50' src="img/{$this->data['face']}.jpg" alt="" />
                {$link_end}
            </div>
            <div class='username'>
                {$link_start}
                {$this->data['username']}
                {$link_end}
            </div>
            <div class='date' title='发布于{$dateStr}'>
                {$dateStr}
            </div>
            <p>{$this->data['content']}</p>
        </div>
EOF;
            return $res;
    }

70行的代码是<div class='face'>下的{link_start}这里,其他地方的link_start, link_end 也报错,请问这是什么 原因?

正在回答

3 回答

直接修改PHP配置文件中error_reporting=E_ALL&~E_NOTICE,重启服务器即可

^-^...

1 回复 有任何疑惑可以回复我~

回复 早安EchoMichael:我今天刚遇到这个问题,困扰了我两天,至于这个问题出现的原因,我猜测是php版本不同解析代码不同的问题,

我的解决办法如下:

if($this->data['url']){

            $url=$this->data['url'];

            $dateStr=date("Y年m月d日 H:i:s",$this->data['pubTime']);

            $res=<<<EOF

        <div class='comment'>

            <div class='face'>

                <a href="{$url}" target='_blank'>

                    <img width='50' height='50' src="img/{$this->data['face']}.jpg">

                </a>

            </div>

            <div class='username'>

                <a href="{$url}" target='_blank'>

                    {$this->data['username']}

                </a>

            </div>

            <div class='date' title='发布于{$dateStr}'>

                {$dateStr}

            </div>

            <p>{$this->data['content']}</p>

        </div>

EOF;

            return $res;

        }else{

            $dateStr=date("Y年m月d日 H:i:s",$this->data['pubTime']);

            $res=<<<EOF

        <div class='comment'>

            <div class='face'>

                    <img width='50' height='50' src="img/{$this->data['face']}.jpg">

            </div>

            <div class='username'>

                    {$this->data['username']}

            </div>

            <div class='date' title='发布于{$dateStr}'>

                {$dateStr}

            </div>

            <p>{$this->data['content']}</p>

        </div>

EOF;

            return $res;

        }

对当前url地址做一个判断,如果存在则传入地址,否则不使用超连接,测试了一下,效果是一样的

希望这对你有帮助 互相帮助 共同进步


2 回复 有任何疑惑可以回复我~

根本不是erro_reporting的问题,是因为$this->data['url']为空时没有任何处理

1 回复 有任何疑惑可以回复我~
#1

早安EchoMichael

那怎么办那
2016-07-17 回复 有任何疑惑可以回复我~
#2

白素贞的许仙

看下面回复,这有字数限制
2016-11-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

变量已经在方法中定义但执行的时候还报错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信