效果:

数据库:

项目结构:

add.php : 添加微博。

conn.php : 数据库配置文件。

delete.php : 删除博客代码。

disinfo.php : 显示微博详细信息。

index.php: 主页。

update.php:编辑微博。

add.php:

<?php
//引入数据库连接文件
require('conn.php'); //判断是否提交数据
if(!empty($_POST['sub'])) {
//接收数据
$title = $_POST['title'];
$content = $_POST['content']; //判断时候填写信息
if($title == '' || $content == '') {
echo '请填写完整信息!';
exit();
} //SQL语句
$sql = "INSERT INTO `tb_article` (`title`, `datetime`, `content`) VALUES ('$title',now(),'$content')"; //执行并判断是否执行成功
if(@mysql_query($sql) or die('SQL执行异常!')){
echo '<script language=javascript>alert("发表成功!");window.location.replace("index.php")</script>';
}
} ?>
<html>
<head>
<meta charset="UTF-8">
<title>添加微博</title>
</head>
<body>
<a href= "index.php">返回首页</a><br/>
<form action="add.php" method="POST">
标题:<input type="text" name="title" /><br/>
内容:<textarea rows="3" name="content"></textarea><br/>
<input type="submit" name="sub" value="发表"/>
</form>
</body>
</html>

conn.php:

<?php
//连接数据库服务器
@mysql_connect('localhost:3306','root','123456') or die('连接数据库服务器失败!'); //选择数据库
@mysql_select_db('db_weibo') or die('选择数据库失败!'); //设置编码
@mysql_query("SET NAMES 'UTF8'") or die('数据库编码错误!');
?>

delete.php:

<?php
//引入数据库连接
require('conn.php'); //接收index.php页面传递过来的id
if(!empty($_GET['id'])) {
//接收数据
$id = $_GET['id']; //SQL语句
$sql = "DELETE FROM `tb_article` WHERE ID = '$id' limit 1"; //执行
if(@mysql_query($sql) or die('SQL语句执行失败!')) {
echo '<script >alert("删除成功!");window.location.replace("index.php")</script>';
exit();
}
}
?>

disinfo.php:

<?php
//引入数据库连接文件
require('conn.php'); //接收id
if(!empty($_GET['id'])) {
//接收数据
$id = $_GET['id']; //SQL语句
$sql = "SELECT * FROM `tb_article` WHERE id = '$id' limit 1"; //获取资源句柄
$queryhandle = @mysql_query($sql) or die('SQL执行失败!'); //获取一行数据
$result = mysql_fetch_array($queryhandle,MYSQL_ASSOC); //SQL语句(修改点击量)
$sql = "UPDATE `tb_article` SET `click` = `click`+1 WHERE id = '$id'"; //执行并判断是否执行成功
@mysql_query($sql) or die('SQL执行异常!');
}
?>
<html>
<head>
<meta charset="UTF-8">
<title>微博信息内容</title>
</head>
<body>
<a href= "index.php">返回首页</a><br/>
标题:<?php echo $result['title'] ?> <br/>
时间:<?php echo $result['datetime'] ?> <br/>
点击量:<?php echo $result['click'] ?> <br/>
内容:<?php echo $result['content'] ?> <br/>
</body>
</html>

index.php:

<?php
//引入数据库连接文件
require('conn.php'); //获取搜索字段
$keys = $_POST['keys']; //判断是否有值
if(empty($keys)) {
$s = '';
} else {
$s = " where `title` like '%$keys%'";
} //获取数据库数据
//SQL语句
$sql = "select * from `tb_article`".$s; //获取资源句柄
$queryhandle = @mysql_query($sql) or die('SQL执行失败!'); //获取总条数
$totalnum = "SELECT COUNT(*) FROM `tb_article`";
$querytotal = mysql_query($totalnum);
$totlnum = mysql_fetch_array($querytotal);
?>
<html>
<head>
<meta charset="UTF-8">
<title>添加微博</title>
</head>
<body>
<a href= "add.php">添加微博</a>
<hr/>
<form action="index.php" method = "post">
<input type="text" name = "keys" />
<input type = "submit" name = "search" value="搜索" />
</form>
<hr/>
<!-- 循环显示数据库内容 -->
<?php while($result = mysql_fetch_array($queryhandle,MYSQL_ASSOC)) { ?>
<h3>标题:<a href = "disinfo.php?id=<?php echo $result['id'] ?>"><?php echo $result['title'] ?></a>
         | <a href = "update.php?id=<?php echo $result['id'] ?>"> 编辑 </a> | <a href = "delete.php?id=<?php echo $result['id'] ?>"> 删除 </a> |</h3>
<h3>时间:<?php echo $result['datetime'] ?> </h3>
<h3>点击量:<?php echo $result['click'] ?> </h3>
<p><?php echo $result['content'] ?> </p>
<hr/>
<?php } ?>
</body>
</html>

update.php:

<?php
//引入数据库连接文件
require('conn.php'); //接收id
if(!empty($_GET['id'])) {
//接收数据
$id = $_GET['id']; //SQL语句
$sql = "SELECT * FROM `tb_article` WHERE id = '$id' limit 1"; //获取资源句柄
$queryhandle = @mysql_query($sql) or die('SQL执行失败!'); //获取一行数据
$result = mysql_fetch_array($queryhandle,MYSQL_ASSOC);
} //判断是否提交数据
if(!empty($_POST['sub'])) {
//接收数据
$hid = $_POST['hid'];
$title = $_POST['title'];
$content = $_POST['content']; //判断时候填写信息
if($title == '' || $content == '') {
echo '请填写完整信息!';
exit();
} //SQL语句
$sql = "UPDATE `tb_article` SET `title` = '$title', `content` = '$content' WHERE id = '$hid'"; //执行并判断是否执行成功
if(@mysql_query($sql) or die('SQL执行异常!')){
echo '<script language=javascript>alert("修改成功!");window.location.replace("index.php")</script>';
}
} ?>
<html>
<head>
<meta charset="UTF-8">
<title>添加微博</title>
</head>
<body>
<a href= "index.php">返回首页</a><br/>
<form action="update.php" method="POST">
<input type = "hidden" name = "hid" value = "<?php echo $result['id'] ?>">
标题:<input type="text" name="title" value="<?php echo $result['title'] ?>" /><br/>
内容:<textarea rows="3" name="content"><?php echo $result['content'] ?></textarea><br/>
<input type="submit" name="sub" value="发表"/>
</form>
</body>
</html>

php - 小型微博系统的更多相关文章

  1. 开源Asp.Net Core小型社区系统

    源码地址:Github 前言 盼星星盼月亮,Asp.Net Core终于发布啦!! Asp.Net发布时我还在上初中,没有赶上.但是Asp.Net Core我从beta版本便一直关注.最初项目名叫As ...

  2. 构建嵌入式小型Linux系统

    构建嵌入式小型Linux系统 摘要:用buildroot构建x86的交叉编译工具链:裁减linux内核,尽可能做到最小:手工构建根文件系统:安装qemu虚拟机,仿真新配置的Linux系统:为新配置的L ...

  3. 小型APP系统开发与应用项目实训

    实训项目 :             小型APP系统开发与应用项目实训                           项目成品名称:          果乐多商城               项 ...

  4. 完全用nosql轻松打造千万级数据量的微博系统(转)

    原文:http://www.cnblogs.com/imxiu/p/3505213.html 其实微博是一个结构相对简单,但数据量却是很庞大的一种产品.标题所说的是千万级数据量 也并不是一千万条微博信 ...

  5. 完全用nosql轻松打造千万级数据量的微博系统

    其实微博是一个结构相对简单,但数据量却是很庞大的一种产品.标题所说的是千万级数据量也并不是一千万条微博信息而已,而是千万级订阅关系之间发布.在看 我这篇文章之前,大多数人都看过sina的杨卫华大牛的微 ...

  6. 基于SignalR的小型IM系统

    这个IM系统真是太轻量级了,提供的功能如下: 1.聊天内容美化 2.用户上下线提示 3.心跳包检测机制 4.加入用户可群聊 下面来一步一步的讲解具体的制作方法. 开篇准备工作 首先,巧妇难为无米之炊, ...

  7. 时尚起义开源话题微博系统 v.0.4.5 上传漏洞

    漏洞出现在/action/upload.php文件中 <?php /** ** **By QINIAO **/ !defined('QINIAO_ROOT') && exit(' ...

  8. [leetcode]355. Design Twitter设计实现一个微博系统

    //先定义一个数据结构,代表一条微博,有两个内容:发布者id,微博id(代表微博内容) class TwitterData { int userId; int twitterId; public Tw ...

  9. ac68u、r8500 梅林固件扩展为一个小型 linux 系统

    事先刷 merlin 固件 1.安装 Entware 在安装之前,你需要在路由器中插入一个 U 盘,并将其格式化为 Ext3 / Ext4 格式,插上后在 /mnt/ 下应会多个 sda 设备出来 e ...

随机推荐

  1. Baby Step Gaint Step

    给定同余式,求它在内的所有解,其中总是素数. 分析:解本同余式的步骤如下 (1)求模的一个原根 (2)利用Baby Step Giant Step求出一个,使得,因为为素数,所以有唯一解. (3)设, ...

  2. Android手机设置隐藏命令大全

    注意:因Android版本较多,固有部分隐藏命令或不能使用 *#*#4636#*#* 显示手机信息.电池信息.电池记录.使用统计数据.WiFi 信息 *#*#7780#*#* 重设为原厂设定,不会删除 ...

  3. CSS3属性之border-radius

    一.语法: 代码如下: border-radius : none |  <length>{1,4} [/  <length>{1,4} ]? 二.取值: <length& ...

  4. JavaScript编程风格--基本的格式化

    缩进层级     推荐4个空格字符作为一个缩进层级. 语句结尾     推荐不要省略分号. 行的长度     最好一行不超过80个字符. 换行     在运算符后换行,下一行增加两个层级的缩进.   ...

  5. Python 基础学习20151201

    L = [ ['Apple','Google','Microsoft'], ['Java','Python','Ruby','PHP'], ['Adam','Bart','Lisa'] ] #打印Ap ...

  6. javascript对象属性——数据属性和访问器属性

    ECMA-262第五版在定义时,描述了属性property的各种特征,定义这些特性是为了实现javascript引擎用的,为了表示该特性是内部值,规范把它们放在了两对儿方括号中,例如[[Enumera ...

  7. 【转】windows上自动设置java环境变量的脚本

    转载:http://www.cnblogs.com/flowwind/p/4066146.html 近期打算学习安卓开发,于是乎要准备java开发环境,安装好jdk后,就要 设置java环境变量,ja ...

  8. Two Sum-n方优化与C++map的使用

    LeetCode第一题,刚拿到题目时虽然明知道n方的遍历算法会超时,但还是不信邪的提交了一次,然而编程不存在运气,TLE不可避免.但是之后的思维方式比较直接,我并没有立刻想到O(n)的方法,想了一种先 ...

  9. [置顶] P2P之我见,关于打洞的学问-------开篇

    最近忙项目,有点累,无暇顾急博客,4月份本来想写写流媒体的文章,结果回家休了两个月回深圳后,接了P2P的项目,那就开始P2P吧. P2P起源于美国大学生Shawn Fanning 写的一个分享软件Na ...

  10. Python3 将configparser从ini文件中读取的内容转换成字典格式

    因为写脚本的用到了,所以研究了下怎么将configparser从ini文件中读取的内容转换成字典格式. 整理一下,希望能对大家有帮助. 从http://stackoverflow.com/questi ...