php - 小型微博系统
效果:
数据库:
项目结构:
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 - 小型微博系统的更多相关文章
- 开源Asp.Net Core小型社区系统
源码地址:Github 前言 盼星星盼月亮,Asp.Net Core终于发布啦!! Asp.Net发布时我还在上初中,没有赶上.但是Asp.Net Core我从beta版本便一直关注.最初项目名叫As ...
- 构建嵌入式小型Linux系统
构建嵌入式小型Linux系统 摘要:用buildroot构建x86的交叉编译工具链:裁减linux内核,尽可能做到最小:手工构建根文件系统:安装qemu虚拟机,仿真新配置的Linux系统:为新配置的L ...
- 小型APP系统开发与应用项目实训
实训项目 : 小型APP系统开发与应用项目实训 项目成品名称: 果乐多商城 项 ...
- 完全用nosql轻松打造千万级数据量的微博系统(转)
原文:http://www.cnblogs.com/imxiu/p/3505213.html 其实微博是一个结构相对简单,但数据量却是很庞大的一种产品.标题所说的是千万级数据量 也并不是一千万条微博信 ...
- 完全用nosql轻松打造千万级数据量的微博系统
其实微博是一个结构相对简单,但数据量却是很庞大的一种产品.标题所说的是千万级数据量也并不是一千万条微博信息而已,而是千万级订阅关系之间发布.在看 我这篇文章之前,大多数人都看过sina的杨卫华大牛的微 ...
- 基于SignalR的小型IM系统
这个IM系统真是太轻量级了,提供的功能如下: 1.聊天内容美化 2.用户上下线提示 3.心跳包检测机制 4.加入用户可群聊 下面来一步一步的讲解具体的制作方法. 开篇准备工作 首先,巧妇难为无米之炊, ...
- 时尚起义开源话题微博系统 v.0.4.5 上传漏洞
漏洞出现在/action/upload.php文件中 <?php /** ** **By QINIAO **/ !defined('QINIAO_ROOT') && exit(' ...
- [leetcode]355. Design Twitter设计实现一个微博系统
//先定义一个数据结构,代表一条微博,有两个内容:发布者id,微博id(代表微博内容) class TwitterData { int userId; int twitterId; public Tw ...
- ac68u、r8500 梅林固件扩展为一个小型 linux 系统
事先刷 merlin 固件 1.安装 Entware 在安装之前,你需要在路由器中插入一个 U 盘,并将其格式化为 Ext3 / Ext4 格式,插上后在 /mnt/ 下应会多个 sda 设备出来 e ...
随机推荐
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...
- Java控制台输入ScannerDemo
- 对象图(Object Diagram)—UML图(三)
一.用一张图来介绍一下对象图的基本内容 二.对象图与类图的基本差别 三.对象图实例
- 没有login页面
"/"应用程序中的服务器错误. 无法找到资源. 说明:HTTP 404.您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用.请检查以下 URL 并确保 ...
- 【JAVA】使用Eclipse依赖生成jar包时,避免最外层同时生成资源文件的配置。
使用Eclipse依赖生成jar包时,如果做配置,生成的jar包文件会全部生成在外面,这并不是我们需要的,下面我们一起来修改下配置,使生成的jar包符合我们的需求吧. 1.如果不做任何配置生成的jar ...
- C++的发展,特点和源程序构成
最近一段时间在学习C++,也借了几本相关的书籍.因为之前主要用C#写程序,大概写了也有两年了吧.所以在回过头来学习C++,还是挺快的.但是我觉得光看书是不行的,要写!!因此我想把我整个学习C++的过程 ...
- QT 程序自定义插件
1,定义接口文件 /****************************************************************************************** ...
- A + B Problem II 大数加法
题目描述: Input The first line of the input contains an integer T(1<=T<=20) which means the number ...
- Windows Phone 8初学者开发—第4部分:XAML简介
原文 Windows Phone 8初学者开发—第4部分:XAML简介 原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Developme ...
- likely() and unlikely()
likely() and unlikely() http://www.cnblogs.com/yangzd/archive/2010/09/27/1837202.html 在linux中判断语句经常会 ...