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 ...
随机推荐
- CF 191 div2
A.数据量很小,直接爆搞. #include <iostream> #include <cstdio> #include <algorithm> #include ...
- map的erase()释放内存
STL中的map调用erase(it),当value值为指针时,释放内存: #include <iostream> #include <map> #include <st ...
- Sublime 操作技巧
吐槽一下:刚下载的subime不是等宽字体,空格.表达.字母i什么的都很窄,看着不方便: 根据网上说的换成等宽字体,试了好多种字体,字体变了.但宽度没变. 然后有装了soda,和相应的color-th ...
- 【转】Ubuntu下deb包的安装方法
[转]Ubuntu下deb包的安装方法 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...
- La=LaULb (循环链表)
#include<stdio.h> typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; void ...
- Python网络编程——处理套接字错误
在网络应用中,经常会遇到这种情况:一方尝试连接,但另一方由于网络媒介失效或者其他原因无法响应. Python的Socket库提供了一个方法,能通过socket.error异常优雅地处理套接字错误. 1 ...
- nfs:server is not responding,still trying 原因与解决
方案(学自他人) nfs:server is not responding,still trying的解决方法 (2009-04-20 10:20) 方法1 : 我在arm上通过NFS共享文件时出现下 ...
- 【转】页面尺寸不一样的PDF页面调整方法
本文综合参考:http://www.360doc.com/content/10/1114/22/2961363_69395272.shtml http://blog.sina.com.cn/s/blo ...
- Socket 基础解析使用ServerSocket建立聊天服务器
很简单的教程哦! 1.socket 简介 Socket 又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求.ServerSocket 用于 ...
- isdigit()判断是不是数字
string 里面的函数isdigit(),可以判断是不是数字. 或者,采用type(1)==int.