EMLOG学院

EMLOG留言板添加QQ评论

摘要: 博客...

1.png


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

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

因此可能会丢失很多评论。

小编昨日在无名智者的博客上看到一个填写QQ信息自动填写表单的功能,但是有点不好的是昵称也是填写的QQ。

后来小编灵机一动就通过php根据用户填写的QQ拉取用户的昵称信息,然后自动填写表单,这样用户只需要输入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-->
然后在留言页面刷新即可。



评论(11)

不错,值得借鉴
想法很棒,又实现了,很不错
@raintrue:一起不错。
不应该是module.php文件吗?
你这个评论框怎么弄得啊
悠久 回复
gb 几部韩剧
分享的代码没法获取昵称,而且跟你用的不一样呐[程序猿],求源码
南墙与北篱 回复
@南墙与北篱:以前的接口已过期
用户名获取不了。
南柯君 回复
@南柯君:接口过期了
[可怜][可怜][可怜][可怜]
风之子 回复