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

怎么检查php代码是否正确

写php代码 ,怎么才能写了之后知道代码又没小的错误,视频中只能在微信号上验证是否正确,然后还得自己去挨着找错误

正在回答

2 回答

微信有网页调试工具,可以用那个调试工具

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

qq_我勒个去_1 提问者

非常感谢!
2017-04-14 回复 有任何疑惑可以回复我~
#2

qq_自_3

调试的时候需要用户的openid 咋弄啊?老哥
2017-12-25 回复 有任何疑惑可以回复我~

我给你写段代码,当日志或断点用,

private function testlog($data){


    file_put_contents("testlog.txt", date('Y-m-d H:i:s',time())."\r\n".$data."\r\n".'-----------------------------------------'."\r\n", FILE_APPEND);
}

放在同一个文件直接调用$this->testlog($data);$data可以写你接收到的信息或标记,我自己就是这样找bug的

class Index extends Controller{
    public function index(){

        $data=input('param.');

      //  test
        $mark='get数据为:';
        foreach ($data as $key=>$value){
           $mark.=$key.':'.$value."\r\n";
        }
        $this->testlog($mark);

        if (array_key_exists("echostr",$data)){//第一次链接走这
               die($data['echostr']);
        }else{
            $e='success';//mark
            $this->testlog($e);
            $this->response();

        }

    }

    private function response(){
        /*
         * <xml>  <ToUserName>< ![CDATA[toUser] ]></ToUserName>  <FromUserName>< ![CDATA[fromUser] ]></FromUserName>  <CreateTime>1348831860</CreateTime>  <MsgType>< ![CDATA[text] ]></MsgType>  <Content>< ![CDATA[this is a test] ]></Content>  <MsgId>1234567890123456</MsgId>  </xml>
         */
        $data=$GLOBALS['HTTP_RAW_POST_DATA'];
        if (empty($data)) {
            $this->testlog('xml字符串为空');
        }

        libxml_disable_entity_loader(true);//禁止xml实体解析,防止xml注入
        $xml = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA);//从字符串获取simpleXML对象

        $to=$xml->FromUserName;

        $this->testlog($to);

        $from=$xml->ToUserName;
        $content=$xml->Content;
        switch ($xml->MsgType){
            case 'text'://文本消息
                $type='text';
                $reversion="大漠孤烟直,长河落日圆";
                $temp="<xml>
                       <ToUserName><![CDATA[%s]]></ToUserName>
                       <FromUserName><![CDATA[%s]]></FromUserName>
                       <CreateTime>%s</CreateTime>
                       <MsgType><![CDATA[%s]]></MsgType>
                       <Content><![CDATA[%s]]></Content>
                       </xml>";
                $e=sprintf($temp,$to,$from,time(),$type,$reversion);
                $this->testlog($e);
                echo $e;
            break;
        }


    }




    private function testlog($data){


        file_put_contents("testlog.txt", date('Y-m-d H:i:s',time())."\r\n".$data."\r\n".'-----------------------------------------'."\r\n", FILE_APPEND);
    }

}


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

可以使用有代码自动检查的编译工具

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

举报

0/150
提交
取消

怎么检查php代码是否正确

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号