记录学习与后端知识并分享学习代码过程(会飞的鱼Blog)

EMLOG评论获取QQ资料 | 传递QQ头像

会飞的鱼 4 2631 2017年9月30日

在网站找了很多,发现很多基本上已经不能使用,所以自己研究了一个,按照以前的代码进行修改。

首先在module.php文件里找到:

  1. //blog:发表评论表单
  2. function blog_comments_post($logid,$ckname,$ckmail,$ckurl,$verifyCode,$allow_remark){
  3. if($allow_remark == 'y'): ?>
  4. <div id="comment-place">
  5. <div class="comment-post" id="comment-post">
  6. <div class="cancel-reply" id="cancel-reply" style="display:none"><a href="javascript:void(0);" onclick="cancelReply()"><i class="icon-forward"></i>&nbsp;取消回复</a></div>
  7. <h3><i class="icon-chat"></i>发表评论<a name="respond"></a></h3>

(以上内容会按照模板的不同而不同,不过基本相似)在这个下面添加

  1. <p>
  2. <input onblur="qiuye()" type="text" name="u" id="qqinfo"maxlength="20" list="nickname" value="" size="22" tabindex="1" placeholder="必填" required/><label for="author" ob>QQ*</label>
  3. </p>

继续第二步,在公共JS里面添加以下代码:

  1. function qiuye(){var qq_num=document.getElementById("qqinfo").value;
  2. if(qq_num){
  3. if( !isNaN(qq_num)){
  4. $.ajax({
  5. url:"http://www.f162.cn/get_qq_info.php",
  6. type:"get",
  7. data:{qq:qq_num},
  8. dataType:"json",
  9. success:function(data){
  10. document.getElementById("commail").value=(qq_num+'@qq.com');
  11. document.getElementById("comurl").value=('http://user.qzone.qq.com/'+qq_num);
  12. $('#comment').focus();
  13. if(data==null){
  14. document.getElementById("comname").value=('QQ游客');
  15. }else{
  16. document.getElementById("comname").value=(data[qq_num][6]==""?'QQ游客':data[qq_num][6]);
  17. }
  18. },
  19. error:function(err){
  20. document.getElementById("comname").value=('QQ游客');
  21. document.getElementById("commail").value=(qq_num+'@qq.com');
  22. document.getElementById("comurl").value=('http://user.qzone.qq.com/'+qq_num);
  23. $('#comment').focus();
  24. }
  25. });
  26. }else{
  27. alert('你输入的好像不是QQ号码');
  28. $('#qqinfo').focus();
  29. }
  30. }else{
  31. alert('请输入您的QQ号');
  32. $('#qqinfo').focus();
  33. }
  34. }

表单需要增加ID信息,给每个input增加ID信息,相信一般看得懂代码的人都会点吧,不会的留言即可。

到了这一步基本上QQ信息已经获取到了,然后就是显示头像的事情了。

module.php找到评论列表里面的:

  1. <div class="comment-head">
  2. <?php if($isGravatar == 'y'): ?>
  3. <img src="http://q.qlogo.cn/headimg_dl?bs=qq&dst_uin=<?php $a=$comment['mail'];echo str_replace("@qq.com","",$a);?>&src_uin=www.feifeiboke.com&fid=blog&spec=100" alt="avatar" class="avatar" /><?php endif; ?>
  4. <?php if(strip_tags($comment['poster'])==$name){echo "<span class='sbname'>".$name."</span>";}else{echo "<span class='name'>".$comment['poster']."</span>";} ?><span class="floor"><?php if($i>3) echo '#'.$i.'';elseif($i==3) echo '地板';elseif($i==2) echo '板凳';elseif($i==1)echo '沙发'; ?></span>
  5. </div>

这边我是修改过了。找到img属性,吧img里面src参数修改成:

  1. src="http://q.qlogo.cn/headimg_dl?bs=qq&dst_uin=<?php $a=$comment['mail'];echo str_replace("@qq.com","",$a);?>&src_uin=www.yankj.com&fid=blog&spec=100"

子评论列表相同方式,最新评论改成:

  1. src="http://q.qlogo.cn/headimg_dl?bs=qq&dst_uin=<?php $a=$value['mail'];echo str_replace("@qq.com","",$a);?>&src_uin=www.yankj.com&fid=blog&spec=100"

此方法有一个弊端:

邮箱必须是QQ邮箱,否则头像将显示QQ默认头像

Ps:原创很累,虽然第一个不是我发明的,但是基本上很多代码都是自己修改的,转载请留下版权,谢谢。

本文由 @会飞的鱼 于 2017-9-30 发布在 会飞的鱼Blog,如无特别说明,本博文章均为原创,转载请保留出处。

网友评论当前共有4条评论

会飞的鱼 在线咨询

在线时间:9:00-22:00
周六、周日:14:00-22:00