PHP开发心得四

Posted jack kwok

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP开发心得四相关的知识,希望对你有一定的参考价值。

1,php返回给html页面的Json数据不能含有回车符

某次用php编写查询数据库数据,以json格式返回给前端页面js文件,js文件以angularJS的函数调用处理的方式进行数据显示,但数据返回正常,angularJS的函数调用却直接进入了.error而不是.success。

错误信息是:undefined。一时不清楚问题出现在哪里。

 

 

几经调试,才发现是json数据中含有回车符,这些特殊字符必须处理后。前端才能正常解析json数据。因此,调用如下函数处理后正常:

$json_string=str_replace(PHP_EOL, \' \', $json_string); 
echo $json_string; 

 

2,php接收到的参数含有乱码

在网页js代码中如果不进行编码,直接取值进行传送,那么后台PHP接收到的汉字会变成乱码

        $scope.DoQuery = function(pageNum) {
          $http.get(
            \'getWS_reginfo.php?ParkID=\'+sessionStorage.getItem(\'ParkID\')
            + \'&parkname=\'+document.getElementById(\'parkname\').value
            + \'&address=\'+document.getElementById(\'address\').value            
            + \'&pageno=\'+pageNum
            )

接收的URL如下:

http://localhost/getWS_reginfo.php?ParkID=0000000002&parkname=&address=�䗝&pageno=0

 

为解决此问题,在js中对汉字参数进行编码,再传输即可,PHP端不用做任何处理:

        $scope.DoQuery = function(pageNum) {
          $http.get(
            \'getWS_reginfo.php?ParkID=\'+sessionStorage.getItem(\'ParkID\')
            + \'&parkname=\'+encodeURI(document.getElementById(\'parkname\').value)
            + \'&address=\'+encodeURI(document.getElementById(\'address\').value)            
            + \'&pageno=\'+pageNum
            )

 

此时,如果前端address参数输入“广州”二字,则PHP接收的URL如下,PHP的$_GET[\'address\']函数能取得正确的参数:

http://localhost/getWS_reginfo.php?ParkID=0000000002&parkname=&address=%E5%B9%BF%E5%B7%9E&pageno=0

 

以上是关于PHP开发心得四的主要内容,如果未能解决你的问题,请参考以下文章

验证码逆向专栏极验三代四代点选类验证码逆向分析

验证码逆向专栏某验四代文字点选验证码逆向分析

验证码逆向专栏某验四代消消乐验证码逆向分析

php生成各种验证码

PHP开发心得二

PHP开发心得四