当前位置: 代码迷 >> PHP >> 小型 Twitter 的系统 流碼+註釋,PHP
  详细解决方案

小型 Twitter 的系统 流碼+註釋,PHP

热度:511   发布时间:2016-04-28 23:03:26.0
小型 Twitter 的系统 源碼+註釋,PHP

?

今天重新吧 小型twitter系統的源碼 認真研究了一邊 算是熟悉php把?

爲今後一個月的畢業設計做打算

?

下載

http://dl.vmall.com/c0nkwafdqz

?

index

?

<?phpsession_start ();include_once ('header.php');include_once ('functions.php');$_SESSION ['userid'] = 1;//设置session真正情况是在登录的时候设置?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Microblogging Application</title></head><p>	<a href='users.php'>see list of users</a></p><?phpif (isset ( $_SESSION ['message'] )) {//如果session中设置了message就显示出来.然后释放	echo "<b>" . $_SESSION ['message'] . "</b>";	unset ( $_SESSION ['message'] );}?><form method='post' action='add.php'>	<p>Your status:</p>	<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>	<p>		<input type='submit' value='submit' />	</p><?php$users = show_users($_SESSION['userid']);//显示用户follow的用戶if (count($users)){	$myusers = array_keys($users);//返回數組中所有的key}else{	$myusers = array();}$myusers[] = $_SESSION['userid'];//應該在myusers數據末尾添加用戶自己$posts = show_posts($myusers,5);//顯示用戶follow用戶的五條postif (count ( $posts )) {	?><table border='1' cellspacing='0' cellpadding='5' width='500'><?php	foreach ( $posts as $key => $list ) {		echo "<tr valign='top'>\n";		echo "<td>" . $list ['userid'] . "</td>\n";		echo "<td>" . $list ['body'] . "<br/>\n";		echo "<small>" . $list ['stamp'] . "</small></td>\n";		echo "</tr>\n";	}	?></table><?php} else {	?><p>		<b>You haven't posted anything yet!</b>	</p><?php}?><h2>Users you're following</h2><?php$users = show_users ( $_SESSION ['userid'] );if (count ( $users )) {	?><ul><?php	foreach ( $users as $key => $value ) {		echo "<li>" . $value . "</li>\n";	}	?></ul><?php} else {	?><p>		<b>You're not following anyone yet!</b>	</p><?php}?></form></body></html>


headers

?

?

<?php$SERVER = 'localhost:3306';$USER = 'root';$PASS = 'root';$DATABASE = 'tweet';if (! ($mylink = mysql_connect ( $SERVER, $USER, $PASS ))) {	echo "<h3>Sorry, could not connect to database.</h3><br/>	Please contact your system's admin for more help\n";	exit ();}mysql_select_db ( $DATABASE );?>

users

<?phpsession_start ();include_once ("header.php");include_once ("functions.php");?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Microblogging Application - Users</title></head><body>	<h1>List of Users</h1><?php$users = show_users ();$following = following(1);if (count ( $users )) {	?><table border='1' cellspacing='0' cellpadding='5' width='500'><?php	foreach ( $users as $key => $value ) {//=>指的是获取数组内某一个单元内的元素的内容,		echo "<tr valign='top'>\n";		echo "<td>" . $key . "</td>\n";//顯示id		echo "<td>" . $value;//顯示id對應的值也就是value					if (in_array ( $key, $following )) {//檢查key是否在following中 然后根据状态显示不同的值显示不同的信息 生成不同的指向action的链接			echo " <small>		<a href='action.php?id=$key&do=unfollow'>unfollow</a>		</small>";		} else {			echo " <small>		<a href='action.php?id=$key&do=follow'>follow</a>		</small>";		}		echo "</td>\n";		echo "</tr>\n";	}	?></table><?php} else {	?><p>		<b>There are no users in the system!</b>	</p><?php}?></body></html>



?

?

<?phpfunction add_post($userid, $body) {	$sql = "insert into posts (user_id, body, stamp) 			values ($userid, '" . mysql_real_escape_string ( $body ) . "',now())";		$result = mysql_query ( $sql );}function show_posts($userid, $limit = 0) {	$posts = array ();		$user_string = implode ( ',', $userid );	$extra = " and id in ($user_string)";		if ($limit > 0) {		$extra = "limit $limit";	} else {		$extra = '';	}		$sql = "select user_id,body, stamp from posts 		where user_id in ($user_string) 		order by stamp desc $extra";	echo $sql;	$result = mysql_query ( $sql );		while ( $data = mysql_fetch_object ( $result ) ) {		$posts [] = array (				'stamp' => $data->stamp,				'userid' => $data->user_id,				'body' => $data->body 		);	}	return $posts;}/** * 显示用户 * 如果user_id =0,直接显示所有用户 * 如果user id >0,显示改用户follow的用户id * @param unknown_type $user_id * @return multitype:|multitype:NULL */function show_users($user_id = 0) {	if ($user_id > 0) {		$follow = array ();		$fsql = "select user_id from following				where follower_id='$user_id'";//從follow中選出該id的follower		$fresult = mysql_query ( $fsql );						while ( $f = mysql_fetch_object ( $fresult ) ) {//把結果作爲一個對象傳入					array_push ( $follow, $f->user_id );//把f中的user_id字段放到follow中		}					if (count ( $follow )) {			$id_string = implode ( ',', $follow );//以","作爲分割符來加工這個字符串,爲了拼接後面的sql			$extra = " and id in ($id_string)";					} else {			return array ();		}	}		$users = array ();	$sql = "select id, username from users 		where status='active' 		$extra order by username";//從user表中選出follower的 id 和 name		$result = mysql_query ( $sql );		while ( $data = mysql_fetch_object ( $result ) ) {		$users [$data->id] = $data->username;//想user中填入用戶名	}	return $users;}/** * 搜索出用户follow的用户的id * @param unknown_type $userid * @return multitype: */function following($userid) {	$users = array ();		$sql = "select distinct user_id from following	where follower_id = '$userid'";	$result = mysql_query ( $sql );		while ( $data = mysql_fetch_object ( $result ) ) {		array_push ( $users, $data->user_id );	}		return $users;}function check_count($first, $second) {	$sql = "select count(*) from following	where user_id='$second' and follower_id='$first'";	$result = mysql_query ( $sql );		$row = mysql_fetch_row ( $result );	return $row [0];}function follow_user($me, $them) {	$count = check_count ( $me, $them );		if ($count == 0) {		$sql = "insert into following (user_id, follower_id)		values ($them,$me)";				$result = mysql_query ( $sql );	}}function unfollow_user($me, $them) {	$count = check_count ( $me, $them );		if ($count != 0) {		$sql = "delete from following		where user_id='$them' and follower_id='$me'		limit 1";				$result = mysql_query ( $sql );	}}?>


add

?

?

<?phpsession_start ();include_once ("header.php");include_once ("functions.php");$userid = $_SESSION ['userid'];$body = substr ( $_POST ['body'], 0, 140 );add_post ( $userid, $body );$_SESSION ['message'] = "Your post has been added!";header ( "Location:index.php" );?>


<?phpsession_start ();include_once ("header.php");include_once ("functions.php");/**  处理follow动作 */$id = $_GET ['id'];//获取get 方法传来的值 $_POST是post$do = $_GET ['do'];switch ($do) {	case "follow" :		follow_user ( $_SESSION ['userid'], $id );		$msg = "You have followed a user!";//设置信息		break;		case "unfollow" :		unfollow_user ( $_SESSION ['userid'], $id );		$msg = "You have unfollowed a user!";		break;}$_SESSION ['message'] = $msg;//在session中发送信息header ( "Location:index.php" );?>



  相关解决方案