今天重新吧 小型twitter系統的源碼 認真研究了一邊 算是熟悉php把
爲今後一個月的畢業設計做打算
下載
http://dl.vmall.com/c0nkwafdqz
index
<?php
session_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>
<?php
if (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用戶的五條post
if (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
<?php
session_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>
<?php
function 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
<?php
session_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" );
?>
<?php
session_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" );
?>
分享到:
相关推荐
【标题】"仿twitter社区源码推特PHP源码修复版"所涉及的知识点主要集中在PHP编程语言、Twitter社交网络的模拟实现以及源码修复这三个核心领域。 首先,PHP是Hypertext Preprocessor(超文本预处理器)的缩写,是一...
本示例关注的是Twitter平台的分享功能,通过标题、URL和图片的组合,为用户提供更丰富的分享体验。接下来,我们将深入探讨如何实现这个功能。 首先,我们需要了解Twitter的API,它允许开发者与Twitter服务进行交互...
网站安装: 第一步:导入数据库文件 第二步:把源代码上传到网站根目录 第三步:修改config.php文件里面的数据库信息和域名 完成! 现在即可访问域名登陆,默认管理员账号admin 密码admin
基于java开发的仿Twitter项目(基于原生的Servlet)+源码+数据库+项目运行文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的仿Twitter项目...
2022高仿twitter社区源码推特PHP源码修复版搭建教程 安装环境: Nginx + PHP7.2 + MYSQL 安装配置: 1.上传源码到网站根目录 2.导入数据库文件 sql.sql 3.修改数据库配置文件 4.修改根目录/core/settings.php 注意...
基于Python+Flask+Scrapy+Echarts对数据进行可视化(爬取新浪微博+Twitter的财报数据)源码+部署文档+全部数据资料 高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 ...
【标题】中的“毕业设计 基于django+mysql+bootstrap3实现教师教学质量评价系统源码+sql.zip”表明这是一个教育信息化领域的项目,主要利用了Web开发技术来构建一个教师教学质量评价系统。该项目的核心技术栈包括...
Storm是一个分布式实时计算系统,由Twitter开源,用于处理无界数据流。它的核心特性包括容错性、高吞吐量以及低延迟。在本项目中,"全新Storm"可能指的是一个更新过的Storm版本,或者是在 Storm 上进行了一些定制化...
基于Python+Flask可视化展示twitter用户及推文分析源码+部署文档+全部数据资料 高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行...
Python优秀项目 基于Flask+MySQL实现的可视化展示twitter用户及推文分析源码+部署文档+全部数据资料.zip 1、代码压缩包内容 代码的项目文件 部署文档文件 2、代码运行版本 python3.7或者3.7以上的版本;若运行有误...
高仿twitter源码,推特是啥我就不多说了,这套源码邮箱有点问题,发不了邮件,所以后台设置账户激活要关闭,有能力的自己修改解决,功到是还挺多的挺完美的手机h5端可以封装成软件也不错的。 安装环境 Nginx + ...
《基于Thinkphp与Bootstrap的项目管理系统源码解析》 在当今快速发展的信息技术领域,项目管理系统的应用已经成为企业管理的重要工具。本篇文章将详细解读一个基于Thinkphp框架与Bootstrap前端UI库构建的项目管理...
仿twitter社区源码推特PHP源码.txt
《Android Twitter客户端源码解析与学习》 在移动开发领域,Android平台因其开源特性与广泛的设备支持,一直是开发者们的热门选择。在这个项目中,我们关注的是一个特定的应用——"android twitter客户端源码",它...
这个系统源码的压缩包名为"Bootstrap+PHP+MySQL完成学生选课系统源码.zip",包含的主目录为"student-system-master",这为我们提供了全面了解和学习此类系统开发的宝贵资源。 一、Bootstrap:响应式网页设计基础 ...