php之微型博客的创建
一,微型博客的开发思路
微型博客的创建,确定无疑我们会用到PHP和mysql之间的增添删改查,首先来看一下思维导图:
搭建好计算机里的apache php 和mysql的联动功能,打开phpmyadmin,创建一个数据库(phplearn),在这个数据库里创建一个数据表(news)。
二,开发所需的各个项目
1,公共模板(conn.php)
<?php
@mysql_connect("localhost","root","")or die("mysql连接失败");
@mysql_select_db("phplearn")or die("db连接失败");
//@mysql_set_charset("gdk");
mysql_query("set names 'gbk'");
?>
上边用到了mysql及具体数据库的连接,分别用到了mysql_connect和mysql_select_db这两个函数,分别用来连接mysql和数据库phplearn。
mysql_set_charset用于指定数据库编码,mysql_query是数据库sql语句执行函数,可直接在括号内写sql语句。
值得注意的是“@”符号,它用于屏蔽mysql报错时的提示,避免用户体验不友好及安全性方面的考虑。
die(),该函数用于数据库连接失败时给与错误提示。
2, 添加博文页add.php
<?php
include(conn.php);
if(!empty($_POST['sub'])){
$title=$_POST[‘title’];
$con=$_POST[‘con’];
$sql="insert into 'news' ('id','title','dates','contents') values (null,'$title',now(),'$con');
mysql_query($sql);
echo "<script>alert('添加成功');location.href='index.php';</script>"
}
?>
<div class="con">
<form action="add.php" method="post">
标题<input type"text" name="title"><br/>
内容<textarea rows='5' cols='50' name='con'></textarea><br/>
<input type=‘submit’ name='sub' value='发表'>
</form>
</div>
include(conn.php)调用指定文件;
empty()判断值是否为空;
$_post获取表单post提交方式的值;
insert into‘表名’ (‘字段1’,‘字段2’,‘字段3’,‘字段4’.。。。)values(‘值1’,‘值2’,‘值3’,‘值4’.。。。),
sql插入语句;
location.href="",js页面跳转。
3,首页index.php
<div class="nav">
<button><a href="add.php">发博文</a></button>
<from action="" method="get">
<input type="text" name="keys" />
<input type="submit" name="subs" value="搜索" />
</form>
</div>
<?php
include("conn.php");
if (!empty($_GET[keys])){
$w= 'title' like '%"._GET[keys]."%'";
} else[$w=1;}
$sql="select * from 'news' where $w order by id desc limit 10";
$query=mysql_query($sql);
while(mysql_fetch_array($querry)){
?>
<div class="main">
<h1>
<a href="view.php?id= <?php $rs['id'] ?>"><?php echo $rs['title'] ?></a>
</h1>
<p><?php echo $rs['contents'] ?></p>
<span><?php echo $rs['dates'] ?></span>
<p class="oper">
<a href="edit.php?id= <?php $rs['id']?>">编辑</a>
<a href="del.php?id= <?php $rs['id'] ?>">删除</a>
</p>
</div>
<?php
}
?>
select * from '表名' [where] [order] [limit], sql 查询语句。
$_GET表单get提交方式,不同于post,是用于查询,运行效率高,但安全性较差。
mysql_fetch_array(),将数据库资源类型转换为数组。
4,删除博文页del.php
<?php
include("conn.php");
if(!empty($_GET['del'])){
$d=$_GET['del'],;
$sql="delete from 'news' where 'id'='$d'";
mysql_query($sql);
echo "<scripr>alert('删除成功'); localtion.herf='index.php';</script>";
}
?>
delete from '表名' [where]...,删除sql语句。
}
?>
5,修改博文页面edit.php
<?php
include("conn.php");
if(!empty($_GET['id'])){
$id=$_GET['id'];
$sql="select * from 'news' where 'id'=['$id']";
$query=mysql_query('$sql');
$rs=mysql_fetch_array($query);
}
if(!empty($_POST['hid'])){
$title=$_POST['title'];
$con=$_POST['contents'];
$hid=$_POST['hid'];
$sql="update 'news' set 'title'='$title' 'contents'='$con' where 'id'='$hid' limit 1"
echo "<script> alert ('更新成功'); location.href='index.php';</script>"
}
?>
<div class="con">
<form action="edit.php" method="post">
<input type="hiden" name="hid" value="<?php echo $rs['id'] ?>">
标题<input type="text" name="title" value="<?php echo $rs['title'] ?>">
内容<textarea rows="5" cols="50" name="con"><?php echo $rs['contents'] ?></textarea><br/>
<input type="submit" name="sub" value="发表">
</form>
</div>
更新指定id的数据,需要获取对应指定id,因此需要设置指定id以供调取。
6,博文页内容view.php
<div class='nav'>
<button><a href="index.php">回到主页</a></button>
</div>
<?php
include("conn.php");
if(!empty($_GET['id'])){
$sql="select * from 'news' where 'id'='".$_GET['id']"'";
$query=mysql_query($sql);
$rs=mysql_fetch_array($query);
$sqlup="update 'news' set hits=hits+1 where 'id'='"._GET['id']."'";
mysql_query($sqlup);
}
?>
<div class="main">
<h1><?php echo $rs['title'] ?></h1>
<span><?php echo $rs['date'] ?></span>
<span>点击量; <?php echo $rs['hits']></span>
</hr>
</p>
</div>```
php之微型博客的创建的更多相关文章
- 使用 Laravel 实现微型博客系统
参考链接:An Introduction to Laravel Authorization Gates 这个微型博客系统包含两个用户角色(作者 和 编辑),它们的权限如下: 作者能创建博客 作者能更新 ...
- 用 Flask 来写个轻博客 (1) — 创建项目
目录 目录 前言 扩展阅读 部署开发环境 创建 Github 项目 前言 一步一步的实现一个 Flask 轻博客项目启动,最新的代码会上传到 Github. 扩展阅读 欢迎使用 Flask - vir ...
- PHP学习之[第09讲]PHP 的 Mysql 数据库函数 (微型博客系统)
一.数据库函数: mysql_connect(数据库地址,用户名,密码) mysql_select_db(数据库名) mysql_set_chartset(‘编码’) //PHP5.2.3以后的函数 ...
- PHP学习之[第10讲]PHP 的 Mysql 数据库函数 (微型博客系统)II
mysql结构如下: -- phpMyAdmin SQL Dump -- version 4.4.1.1 -- http://www.phpmyadmin.net -- -- Host: localh ...
- 利用PHP/MYSQL实现的简易微型博客(转)
数据库:ly_php_base 表:ly_micro_blog(仅仅有一个表)字段:id,title,date,content,hits 文件: 文件 描述 default.php 默认主页.显示博文 ...
- 从无到有开发自己的Wordpress博客主题---创建主题
上一篇教程,我们已经安装了Wordpress,我们可以成功的登录到Wordpress后台,接下来的任务就是创建我们自己的主题. 要想创建一个Wordpress主题,就必须按照Wordpress的规则, ...
- 在 Windows Azure 网站上使用 Django、Python 和 MySQL:创建博客应用程序
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 根据您编写的应用程序,Windows Azure 网站上的基本Python 堆 ...
- 用 Flask 来写个轻博客 (11) — M(V)C_创建视图函数
目录 目录 前文列表 视图函数 在 viewspy 文件中定义视图函数 定义右侧边栏的视图函数 为每一张数据表定义视图函数 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask ...
- 用 Flask 来写个轻博客 (4) — (M)VC_创建数据模型和表
目录 目录 前文列表 扩展阅读 定义数据模型 models 创建表 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 ...
随机推荐
- 第一个JavaScript代码
既然我们的CSS就必须要要放再专门的style标签内 那么javascript也需要放在子级的标签内,那就是script标签内 在页面中,我们可以在body标签中放入<script type= ...
- Redis 集群缓存测试要点--关于 线上 token 失效 BUG 的总结
在测试账户系统过程中遇到了线上大面积用户登录态失效的严重问题,事后对于其原因及测试盲点做了一些总结记录以便以后查阅,总结分为以下7点,其中原理性的解释有些摘自网络. 1.账户系统token失效问题复盘 ...
- Java学习---JDK的安装和配置
控制面板\系统和安全\系统 CLASSPATH %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; JAVA_HOME C:\Program Files ...
- Linux Samba配置文件常用参数详解
目录 1.全局参数 2.共享参数 Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间 ...
- The Shapes of CSS(css的形状)
All of the below use only a single HTML element. Any kind of CSS goes, as long as it's supported in ...
- 乘风破浪:LeetCode真题_020_Valid Parentheses
乘风破浪:LeetCode真题_020_Valid Parentheses 一.前言 下面开始堆栈方面的问题了,堆栈的操作基本上有压栈,出栈,判断栈空等等,虽然很简单,但是非常有意义. 二.Valid ...
- CSMA/CD 续
重要特性 以太网不能进行全双工通信而只能进行双向交替通信(半双工通信).每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性. 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率 ...
- Debian下Cannot set LC_CTYPE to default locale: No such file or directory解决方法
把语言环境变量改为英文 将Ubuntu系统语言环境改为英文的en_US.UTF-8 查看当前系统语言环境 locale 编辑配置文件,将zh_US.UTF-8改为en_US.UTF-8,zh改为en ...
- 【[CQOI2011]动态逆序对】
这是我的第一个数据结构套数据结构 不是线段树套\(Splay\),而是非常蛇皮的块状链表套树状数组 如果这里按照\(\sqrt{n}\)的大小来分块,那么就需要\(n\sqrt{n}\)的空间,可能开 ...
- 坑之OJ-玄学、不可抗力
自家学校OJ网站上的题目,很玄学,不知道哪里出的问题. 这个OJ链接的题目没有问题的. https://www.luogu.org/problemnew/show/P1981 #include < ...