效果:

数据库:

项目结构:

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. Python学习入门基础教程(learning Python)--2.2 Python下的变量基础

    变量的基本概念,变量可以这样去理解,变量是一个值,这个值存储在计算机的内存里.以网购为例,您在选购傻商品的时候,是在不同页面里选不同的商品,选好一件点击“放入购物车”,选完了再点击去结帐,这些商品的价 ...

  2. Linux下shell编程实例

    1. 推断一文件是不是块或字符设备文件.假设是将其复制到 /dev 文件夹下 read -p "input a file:" filename if [ -b $filename ...

  3. STL之使用vector排序

    应用场景: 在内存中维持一个有序的vector: // VectorSort.cpp : Defines the entry point for the console application. #i ...

  4. Js用正则表达式验证字符串

    js 常用正则表达式表单验证代码 作者: 字体:[增加 减小] 类型:转载 js 常用正则表达式表单验证代码,以后大家就可以直接使用了. 正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模 ...

  5. Backbone入门教程

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  6. css两列布局,一边固定宽度,另一边自适应

    <!DOCTYPE HTML><HTML>    <head>                <meta charset="utf-8" ...

  7. 【ActiveMQ】持久化消息队列的三种方式

    1.ActiveMQ消息持久化方式,分别是:文件.mysql数据库.oracle数据库 2.修改方式: a.文件持久化: ActiveMQ默认的消息保存方式,一般如果没有修改过其他持久化方式的话可以不 ...

  8. Kqueue与epoll机制

    首先介绍阻塞与非阻塞:阻塞是个什么概念呢?比如某个时候你在等快递,但是你不知道快递什么时候过来,而且你没有别的事可以干(或者说接下来的事要等快递来了才能做):那么你可以去睡觉了,因为你知道快递把货送来 ...

  9. 通过代码...CGRectmake 创建的控件如何自适应屏幕。

    [[UIScreen mainScreen] bounds].size.width [[UIScreen mainScreen] bounds].size.height 得到屏幕的宽高,然后将变量写入 ...

  10. File中操作路径的API(转)

    这几天一直在搞Java,模板引擎系列和程序猿执业修养系列都暂停了,在Java上忙的不亦乐乎!由于对Java还不太熟悉,经历了各种纠结终于完成了任务.以下是关于Java获取当前目录的方法的备忘录. 原文 ...