Emlog评论通过QQ获取昵称资料

使用emlog博客程序朋友有采用第三方评论,也有采用内置评论的,使用第三方评论的还好,可以直接QQ登陆,但是如果是采用内置评论的很多访客都不愿意填写信息,因此可能会丢失很多评论。今天舍力分享一篇采用js根据用户填写的QQ号码拉取用户的昵称信息,然后自动填写表单,这样用户只需要输入QQ就能实现自动填写了。代码以默认模板为例。

第一步、我们要确认模板是否有加载jquery,emlog默认jquery代码如下(放入<head></head>之间),如果有加载的请自动忽略此步。
<script src="<?php echo BLOG_URL;?>include/lib/js/jquery/jquery-1.7.1.js" type="text/javascript"></script>
第二步、找到模板文件module.php中的
<input type="hidden" name="gid" value="<?php echo $logid; ?>" />
在上面代码的后面加入代码
<input id="qq" type="text" name="qq" maxlength="49" placeholder="填入qq自动获取信息" value="" size="22" tabindex="0"><div id="error"></div><div id="ajaxloading"></div> 
然后在每一个input加上id信息,例如: name="commail" 后面添加 id="commail"
第三步、加入js代码代码如下(代码中的网址路径../go/qq/需要改成你自己创建的,即第四步中的路径):
<script> $(function () { Lotto = {}; Lotto.comment = function(){ $("#qq").blur(function(){ $('#qq').attr("sl",true); $("#ajaxloading").html('<img src="../go/qq/loading.gif"><a style="font-size:12px;margin-left:5px;">正在获取QQ信息..</a>'); $.getJSON('../go/qq/?qq='+$('#qq').val()+'&callback=?', function(q){ if(q.name){ $('#comname').val(q.name); $('#commail').val($('#qq').val()+'@qq.com'); $('#comurl').val('http://user.qzone.qq.com/'+$('#qq').val()); $('#qq').attr("disabled",false); $("#ajaxloading").hide(); }else{ $("#ajaxloading").hide(); $("#error").html('qq账号错误').show().fadeOut(4000); $('#qq').attr("sl",false); } }); }); } Lotto.run = function(){this.comment();}; Lotto.run(); }); </script>
第四步、建立一个文件夹,如qq放入根目录中,在里面建一个文件index.php,代码如下
<?php header("Content-type: application/json; charset=utf-8"); $qq = $_GET['qq']; $html = file_get_contents('http://r.pengyou.com/fcg-bin/cgi_get_portrait.fcg?uins='.$qq); $nic = explode(',',$html); $name = trim(mb_convert_encoding($nic[6], "UTF-8", "GBK"),'"'); $img = file_get_contents('http://ptlogin2.qq.com/getface?appid=1006102&uin='.$qq.'&imgtype=3'); preg_match('/pt.setHeader\((.*?)\);/',$img,$picc); $pic = json_decode($picc[1]); $json['name'] = $name; $json['pic'] = $pic->$qq; echo $_GET['callback'].'('.json_encode($json).')'; ?>
统一回复评论中提到的几个问题:
1、js你想放在哪里都可以,只要调用出来即可,正常都是放入<head></head>

原文地址:https://www.shuyong.net/949.html



本文标签:

版权声明:Emlog评论通过QQ获取昵称资料》该篇文章出自【岳泽以博客】,如果您有任何复制、转载行为请注明原文地址!

返回列表
上一篇:
下一篇:

发表评论

快捷回复:

评论列表 (已有4条评论)
人鬼情未了侯爵2020-03-23 17:03回复
文章不错,写的很好!
人鬼情未了侯爵2020-03-23 11:37回复
同时也让我重新拿起来家里尘封已久的《三国演义》。题主的体感里也隐含有少前和碧蓝对比的意思,这个话题其实是一个蛮有趣的话题
人鬼情未了侯爵2020-03-23 11:36回复
文章不错,值得欣赏!
邵先森博客男爵2018-02-06 17:04回复
文章不错,写的很好!