国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

微信墻源碼|適用微信公眾平臺(MySQL、PHP、jQuery、AJAX)

2024-05-04 23:21:04
字體:
來源:轉載
供稿:網友
伴隨著SNS產品市場的不斷成熟,人人網狀態墻、新浪微博大屏幕等越來越多地進入展會、晚會等活動現場,很大程度上增強了觀眾互動。狀態墻、微博幕外觀相似,但在功能上又有所區別,本質上講是SNS網站模式不同所決定的。前者較為私密,適合受眾之間存在強社交關系時使用,例如高校文藝活動、內部晚會等。后者則相對開放,任何人都能夠直接參與,發出的微博在很大程度上還可以為活動造勢。因此,展會、抽獎活動常常采用后一種形式。

2013年05月11日,中國互聯網創業者大會上,第一面功能完善的“微信墻”橫空出世,進一步豐富了活動組織的選擇空間。微信墻相對于前述二者,更類似于早年間的短信互動。參與者可以很方便地提問、發表看法,而不用擔心自己的“熱情參與”會對好友產生騷擾以及在個人主頁中留下很多痕跡。與前二者相比,互動更加快捷、靈活、準確,內容與活動主題更貼切。此外,如果能夠充分利用微信獨具的語音功能,此時相當于每名觀眾手中都擁有一個麥克風,經過篩選,將可以極大地豐富現場互動。

可惜的是,目前微信并未像人人網、微博公開提供“上墻”服務,開發者需要通過微信公眾平臺API間接實現微信墻。

/weixin-wall
├── wechat.php 連接微信公眾平臺 將消息存入數據庫
├── wall.php 微信墻
└── message.php 新增消息XML

wechat.php

微信公眾平臺與服務器通信 將用戶發送的消息存入MySQL數據庫

12345678910111213141516171819202122232425262728293031323334353637383940414243
<?php/* 微信公眾平臺API*/ error_reporting(0);// 關閉錯誤報告 $db = mysqli_connect('localhost', '用戶名', '密碼', '數據庫名') or exit('Unable to connect to MySQL.');mysqli_query($db, 'SET NAMES UTF8');// 連接數據庫 if (!$postStr=$GLOBALS['HTTP_RAW_POST_DATA'])	exit;// 無POST內容 退出 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);	//解析XML $msgType = $postObj->MsgType;	// 獲取消息類型 if ($msgType!='text')	exit;// 非文本消息 退出 $openID = antiInjection($postObj->FromUserName);	// 獲取發送者openID$content = antiInjection($postObj->Content);		// 獲取文本消息內容 record($openID, $content);	// 將消息寫入MySQL數據庫 function record($openID, $content) {	$recordQuery = "INSERT INTO message (openID, content) VALUES ('$openID', '$content');";	mysqli_query($GLOBALS['db'], $recordQuery);}function antiInjection($value) {	// 反SQL注入	global $db;	if (get_magic_quotes_gpc())		$value = stripslashes($value);	$value = trim($value);	$value = mysqli_real_escape_string($db, $value);	return $value;}?>

wall.php

微信墻主體 訪問時加載已經存在的消息
當接收到新消息時,無需刷新,通過AJAX jQuery即可實現消息滾動。

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
<?php$db = mysqli_connect('localhost', '用戶名', '密碼', '數據庫名') or exit('Unable to connect to MySQL.');mysqli_query($db, 'SET NAMES UTF8');?><!doctype html><html><head><meta charset="utf-8" /><title>微信墻</title><style>#msgBox div {	padding: 19px;	margin-bottom: 20px;	background: #f5f5f5;	border: 1px solid #e3e3e3;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);	-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);	box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);}</style></head><body><div id="msgBox"><?php$wxQuery = 'SELECT * FROM message ORDER BY recordID DESC LIMIT 20';$wxResult = mysqli_query($db, $wxQuery);while ($wxRow=mysqli_fetch_assoc($wxResult)) {	$lastID or $lastID = $wxRow['recordID'];	$content = $wxRow['content'];	echo '<div>',$content,"</div>/n";}$lastID = (int)$lastID;?></div> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js"></script><script>var lastID = <?php echo $lastID; ?>;function getMessages() {	$.ajax({		url : '/message.php?lastID=' + lastID + '&v=' + (new Date()/1),		success : function(xml){			$(xml).find('message').each(function() {				if ($(this).attr('recordID') > lastID) {					var message = $(this).text();					message = '<div>' + message + '</div>';					$(message).prependTo('#msgBox').hide().slideDown('slow');					lastID = $(this).attr('recordID');				}			});		}	});	window.setTimeout(getMessages, 5000);}getMessages();</script></body></html>

message.php

頁面加載完畢后再接收到的新消息 通過XML傳送

123456789101112131415161718
<?php$db = mysqli_connect('localhost', '用戶名', '密碼', '數據庫名') or exit('Unable to connect to MySQL.');mysqli_query($db, 'SET NAMES UTF8');header('Content-type: text/xml');$lastID = (int) $_GET['lastID'];echo '<?xml version="1.0" encoding="UTF-8"?>',"/n";?><feitsui><?php$wxQuery = "SELECT * FROM message WHERE recordID > $lastID ORDER BY recordID LIMIT 20";$wxResult = mysqli_query($db, $wxQuery);while ($wxRow=mysqli_fetch_assoc($wxResult)) {	$recordID = $wxRow['recordID'];	$content = $wxRow['content'];	echo '<message recordID="',$recordID,'">',$content,"</message>/n";}?></feitsui>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漳平市| 英山县| 陇南市| 许昌市| 锦州市| 鞍山市| 禄丰县| 伽师县| 锦屏县| 伊宁市| 玉树县| 安远县| 靖西县| 临海市| 普兰县| 股票| 永顺县| 大港区| 通化市| 平阳县| 铅山县| 河南省| 福海县| 洪湖市| 泰安市| 铜山县| 宣化县| 冷水江市| 怀集县| 昭平县| 三穗县| 商南县| 晋城| 遂平县| 镇宁| 政和县| 楚雄市| 赤峰市| 红安县| 曲周县| 黄陵县|