一个新手编程狗的成长记忆
web菜鸟的最后一片自留地

Emlog添加评论留言时通过QQ获取资料

    博客评论有的采用第三方评论,有的采用内置评论。

      使用第三方评论的还好,可以直接QQ登陆,但是如果是采用内置评论的很多访客都不愿意填写信息,

      因此可能会丢失很多评论。通过php根据用户填写的QQ号码拉取用户的昵称信息,然后自动填写表单,这样用户只需要输入QQ就能实现自动填写了。

      ps:亲测可行,但是鸡肋的地方是此方法获取出来的网址为qq空间,个人觉得没什么卵用,因此,在之前的版本添加后,新版本中又移除了,请慎用!

      具体方式如下:

      首先打开medule.php文件,找到//blog:发表评论表单的函数,在 

      <p class="comment-header"><b>发表评论:</b><a name="respond"></a></p><?php if(ROLE == 'visitor'): ?>
      

      这行下面添加如下php代码: 

      <!--获取QQ号码及用户资料-->
      <?php
      if(isset($_POST['u'])){
      header('Content-Type: text/html; charset=utf-8');
      $ret = '';
      if(preg_match('/\"nickname\":\"([^\"]+)\"/', file_get_contents('http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin='.$_POST['u']), $QQInfo)){
      $ret = $QQInfo[1];
      }
      echo '<script>parent.document.getElementsByName("comname")[0].value = "',$ret,'";</script>';
      echo '<script>parent.document.getElementsByName("commail")[0].value = "',$_POST['u'],'@qq.com";</script>';
      echo '<script>parent.document.getElementsByName("comurl")[0].value = "http://user.qzone.qq.com/',$_POST['u'],'";</script>';
      }else{?>
      <?php
      }
      ?>
      <p>
      <iframe name="hiddenIframe" style="display:none;"></iframe>
      <form action="" method="POST" target="hiddenIframe">
      <p style="color:#FF262E;">您也可以直接填写QQ到下面的输入框中,点击获取用户资料实现自动调用您的QQ资料</p>
      <input placeholder="请输入您的QQ号码" value="" type="text" name="u" />
      <input style="width:90px;" type="submit" value="获取用户资料">
      </form>
      </p>
      <!--获取QQ号码及用户资料 end-->

分享到: 更多 (0)

评论 12

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    你这个评论框也太漂亮了哈

    无涯书生2年前 (2016-03-31)Reply
  2. #2

    [blockquote]签到成功!签到时间:下午9:51:30,每日打卡,生活更精彩哦~[/blockquote]

    匿名2年前 (2016-04-13)Reply
  3. #3

    [F2] 来过

    匿名2年前 (2016-04-14)Reply
  4. #4

    很好

    小宝QQ机器人1年前 (2016-10-01)Reply
  5. #5

    可以的

    小明12个月前 (11-26)Reply
  6. #6

    不错

    幕瑾晨12个月前 (11-27)Reply
  7. #7

    看看

    [去死].avi10个月前 (01-25)Reply
  8. #8

    分分分

    人杰10个月前 (01-30)Reply
  9. #9

    我怎么找不到 medule.php文件

    南柯9个月前 (02-24)Reply
  10. #10

    我试试

    匿名8个月前 (03-18)Reply