php技术博客

记录php相关学习知识及开发示例、疑难问题等

如何将php变量值安全的输出到js中

之前没考虑到这个问题,以为直接调用输出下就行了,这次有个编辑跟我说,页面不能加载更多内容了,用chrome浏览器调试模式查看有js报错,原来是输出的内容中有换行符造成js错误,从而导致后面的js不能正常执行了。不安全的做法:...   var share_content=''; ...上面的代码是不严谨的,没有考虑到变量可能含有一些特殊的字符,如换行、引号等。正确的做法如下,...   var share_content=""; ...大家可以封装成一个函数来处理这种情况,代码如下function php_safetransfer_js($str){         $str='"'.addcslashes($str, "\v\t\n\r\f\"'\\/").'"';       &nb

分析一次写入微信昵称数据执行sql报错问题

客户反馈之前做的一个专题,有个用户报名数据没有正确写入。简单介绍下h5功能,类似报名功能,微信下授权后获取到openid、nichname,之后填写姓名并选择所在城市等信息,提交表单信息。其他用户填写都是正常的,通过用户反馈过来,用户昵称为“橙澄僜”。通过调试发现,这个昵称字符串转换为gbk编码后,再通过addslashes转义,字符串末尾会出现反斜线(\)。造成拼接的sql出现解析错误。header("Content-Type:text/html;charset=gbk"); $ss='橙澄僜';   $ss2=iconv('utf-8','gbk//ignore',$ss); $nickname=base64_encode($ss2);   var_dump($ss2,$nickname,base64_decode('s8izzoNc')); $sql="insert into test (nickname,name) values (