不通过插件为Emlog添加QQ获取昵称

2015年1月3日18:37:23 发表评论 475 views

博客评论和留言是网站最基本的功能,对独立博客等中小网站来说,如何让用户方便的评论呢?有的采用第三方评论,有的采用内置评论。 

   使用第三方评论的还好,可以直接用各大社区帐号登陆,但是本人不哪么喜欢第三方评论,还是觉得采用内置评论会比较好些,采用内置评论后发现很多访客都不愿意填写相应信息,因此可能会丢失很多评论。

   为让博友们快速及方便地发表评论,就想起通过QQ获取用户基本信息,包括昵称、邮箱、空间地址。虽然Emlog官方有通过QQ获取昵称插件使用,但测试后不哪么满意,在一次偶然机会在陈子文分享的模板中发现可用代码来通过QQ获取用户基本信息,觉得不错就在模板中移植分享给大家。

具体方式如下:
首先打开medule.php文件,找到“blog”:发表评论表单的函数,在

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

这行下面添加如下代码:

		<!--获取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
                     }
               ?>
			<!--获取QQ号码及用户资料 end-->
		   <p>
               <iframe name="hiddenIframe" style="display:none;"></iframe>
               <form action="" method="POST" target="hiddenIframe">
		  <p style="color:#FF262E;">快速评论:请填写QQ获取资料!</p>
               <input placeholder="请输入您的QQ号码" value="" type="text" name="u" />
               <input style="width:90px;" type="submit" value="获取用户资料">
               </form>
		  </p>

我也是人家的博客看见的,而且我看到他的QQ获取昵称评论那个很简介,比我这个用插件的舒服,我就用代码试试了,成功了,把插件的那个删掉了。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的支付宝红包
  • 支付宝红包扫一扫打赏
  • weinxin
  • A+
所属分类:PHP

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: