PHP实现的博客欢迎提示功能(很特别哦)
以下代码的实现效果:
1、留言的访客显示欢迎词
2、一般访客来源提示
3、不留言潜水党(刷新大于7次,催促留言)
4、针对IE的推送更新提示
使用方法:调用相应的函数,例如welcome_msg()。
复制代码 代码如下:
/**
* 欢迎词
* 以前的欢迎词在右上角提示.
* 实现原理:
* 通过$_SERVER['HTTP_REFERER']判断来路
* 通过$_SERVER["HTTP_USER_AGENT"]判断用户使用的浏览器
* 通过$_COOKIE["comment_author_" . COOKIEHASH]判断为评论者
*
*/
function welcome_msg(){
if($m = apply_filters('welcome_msg',$string)){
echo $m;
return;
}
global $referer;
$referer=$_SERVER['HTTP_REFERER'];
$hostinfo=parse_url($referer);
$host_h=$hostinfo["host"];
$host_p=$hostinfo["path"];
$host=array($host_h,$host_p);
if(substr($host_h, 0, 4) == 'www.')
$host_h = substr($host_h, 4);
$host_h_url='$host_h';
//直接输入 没有东西
if($referer==""){
echo "\n";
if($_COOKIE["comment_author_" . COOKIEHASH]!=""){
echo 'Howdy, '.$_COOKIE["comment_author_" . COOKIEHASH].', 欢迎回来';
}else{
echo "您直接访问了本站! 莫非您记住了我的域名.厉害~我倍感荣幸啊 嘿嘿";
}
//搜索引擎
//baidu
}elseif(preg_match('/baidu.*/i',$host_h)){
echo "您通过 百度 找到了我! 厉害.你要是能够订阅我的博客那就更好了.我经常分享一些好东西哦";
//google
}elseif(!preg_match('/www\.google\.com\/reader/i',$referer) && preg_match('/google\./i',$referer)){
echo "您通过 Google 找到了我! 厉害. 你要是能够订阅我的博客那就更好了. 我经常分享一些好东西哦";
//yahoo
}elseif(preg_match('/search\.yahoo.*/i',$referer) || preg_match('/yahoo.cn/i',$referer)){
echo "您通过 Yahoo 找到了我! 厉害. 你要是能够订阅我的博客那就更好了. 我经常分享一些好东西哦";
//阅读器
//google
}elseif(preg_match('/google\.com\/reader/i',$referer)){
echo "感谢你通过 Google 订阅我! 既然过来读原文了. 欢迎留言指导啊.嘿嘿 ^_^";
//xianguo
}elseif(preg_match('/xianguo\.com\/reader/i', $referer)){
echo "感谢你通过 鲜果 订阅我! 既然过来读原文了. 欢迎留言指导啊.嘿嘿 ^_^";
//zhuaxia
}elseif(preg_match('/zhuaxia\.com/i', $referer)){
echo "感谢你通过 抓虾 订阅我! 既然过来读原文了. 欢迎留言指导啊.嘿嘿 ^_^";
//哪吒
}elseif(preg_match('/inezha\.com/i', $referer)){
echo "感谢你通过 哪吒 订阅我! 既然过来读原文了. 欢迎留言指导啊.嘿嘿 ^_^";
//有道
}elseif(preg_match('/reader\.youdao/i', $referer)){
echo "感谢你通过 有道 订阅我! 既然过来读原文了. 欢迎留言指导啊.嘿嘿 ^_^";
//自己
}elseif(self()){
echo ""."\n";
}elseif($_COOKIE["comment_author_" . COOKIEHASH]!=""){
echo 'Howdy, '.$_COOKIE["comment_author_" . COOKIEHASH].'欢迎从'.$host_h.'回来';
}else{
echo '欢迎来自'. $host_h.'的朋友. 我经常分享一些好东西哦 ^_^ 欢迎订阅我的博客.';
}
}
//判断是自己的函数
function self(){
$local_info = parse_url(get_option('siteurl'));
$local_host = $local_info['host'];
//check self
if ( preg_match("/^http:\/\/(\w+\.)?($local_host)/",$_SERVER['HTTP_REFERER']) != 0) return true;
}
/**
* 分析浏览器 对于使用IE老版本的用户推送提醒
* 不要过分推送, 根据cookie判断
* 比如 对IE6的推送! 我希望是每隔20秒要有一次!
* @see setcookie_for_ie()
*/
function killIE($msg){
if(preg_match('/MSIE\s6/i', $_SERVER['HTTP_USER_AGENT'])){
if(!$_COOKIE['alert_ie_visitor_'.COOKIEHASH]){
$msg .= '
呃~ , 我不得不再提示一下:
';$msg .= '
您正在使用古老的 Internet Explorer 浏览网页, 该浏览器不符合W3C国际标准, 本站网页可能显示不正常,或部分功能无法使用
如果您升级到 Internet Explorer 8 或转换到另一个浏览器, 本站将能为您提供更好的服务.
';//add_action('init', 'setcookie_for_alert_ie_visitor');
}
}elseif(preg_match('/MSIE\s7/i', $_SERVER['HTTP_USER_AGENT'])){
if(!$_COOKIE['alert_ie_visitor_'.COOKIEHASH]){
$msg .= '
呃~ , 顺便提示一下:
';$msg .= '
您正在使用旧版本的 Internet Explorer 版本浏览网页,如果您升级到 Internet Explorer 8 或转换到另一个浏览器, 本站将能为您提供更好的服务.
';}
}elseif(preg_match('/MSIE\s8/i', $_SERVER['HTTP_USER_AGENT'])){
if(!$_COOKIE['alert_ie_visitor_'.COOKIEHASH]){
$msg .= '
呃~ , 顺便提示一下:
';$msg .= '
很高兴看到你使用较高版本的 Internet Explorer 浏览器! 但是我还是要向您推荐:
速度最快的 Chrome 和定制性最强的 Firefox
}
}else{
return;
}
return $msg;
}
add_filter('welcome_msg','killIE');
/**
* 对于来了很多次也不评论的家伙提醒
* 创建一个cookie用来计数
* 结合ajax评论函数,评论后将计算器设置为-5
* 这样评论后可以有个较长的缓和期
* @since 2.0.1
* @see welcome_msg, setcookie_for_alert_commentator
* 修改了cookies的写入方法,这里只读取cookies
*/
function alert_commentator($msg){
global $user_ID;
//管理员是个例外.不能对管理员推送!
if($user_ID){
return;//just return null;
}
if(!isset($_COOKIE['comment_author_visit_times_'.COOKIEHASH]))
return;//
//当次数>=6次时 推送提示
//由于在init上写入cookie所以实际上要等cookie累加到7是才显示提示!
if(((int)$_COOKIE['comment_author_visit_times_'.COOKIEHASH])>=6){
if($comment_author = $_COOKIE['comment_author_'.COOKIEHASH])
$msg = '嗨~, '.$comment_author.' 我发现你来了很多次也没有留言! 欢迎发表你的看法.';
else
$msg = '新朋友? 老朋友? 我看你来了很多次却没有留言.欢迎发表你的看法.';
}else{
return;//
}
return $msg;
}
add_filter('welcome_msg','alert_commentator');
/**
* 给访客设置一个计算器
*
* 作用:
* 不过访客一直浏览,不留言计数器工作
* 留言后将计数器归为-5
*
* @since 2.0.2
*/
function setcookie_for_alert_commentator(){
if(is_bot())
return;
global $user_ID;
if($user_ID)
return;
//如果没有计数器,写入
if(!isset($_COOKIE['comment_author_visit_times_'.COOKIEHASH])){
setcookie('comment_author_visit_times_'. COOKIEHASH, 1, time() + (60*60*24*300), COOKIEPATH, COOKIE_DOMAIN);
}else{
$visit_times = (int)$_COOKIE['comment_author_visit_times_'.COOKIEHASH];
setcookie('comment_author_visit_times_'. COOKIEHASH, ++$visit_times, time() + (60*60*24*300), COOKIEPATH, COOKIE_DOMAIN);
}
//当次数大于7时 停止推送 因为连续推送了2次了
if(((int)$_COOKIE['comment_author_visit_times_'.COOKIEHASH])>=7){
//设置为0 重来
setcookie('comment_author_visit_times_'. COOKIEHASH, -2, time() + (60*60*24*300), COOKIEPATH, COOKIE_DOMAIN);
}
}
add_action('init', 'setcookie_for_alert_commentator');
/**
* 针对ie不同版本设置不同的cookie
*
* 为了后面的推送升级通知
*/
function setcookie_for_ie(){
if(isset($_COOKIE['alert_ie_visitor_'.COOKIEHASH]))
return;
if(preg_match('/MSIE\s6/i', $_SERVER['HTTP_USER_AGENT'])){
//对于使用古老版ie用频繁推送 (cookies 5分钟失效)
setcookie('alert_ie_visitor_'.COOKIEHASH,'ie6',time()+(20),COOKIEPATH,COOKIE_DOMAIN);
}elseif(preg_match('/MSIE\s7/i', $_SERVER['HTTP_USER_AGENT'])){
//对于使用ie7的用户减少推送 (cookies 3天失效)
setcookie('alert_ie_visitor_'.COOKIEHASH,'ie7',time()+(60*60*24*3),COOKIEPATH,COOKIE_DOMAIN);
}elseif(preg_match('/MSIE\s8/i', $_SERVER['HTTP_USER_AGENT'])){
//对于使用ie8的用尽量不要推送 (cookies 100天失效)
setcookie('alert_ie_visitor_'.COOKIEHASH,'ie8',time()+(60*60*24*10),COOKIEPATH,COOKIE_DOMAIN);
}
}
add_action('init', 'setcookie_for_ie');

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
