php 个人博客 实战小记

原理类似留言板;

1,      首先连接数据库mysql -u root -p111111 ,建立新的数据库 dbblog, ;create database dbblog;

2;  使用数据库dbblog, use dbblog

3;  在数据库dbblog下  新建表tbblog;主键自增型,表中 k-v 键值有:

      create table tbblog(

          id int primary key auto_increment,    // id

        title varchar(60),         // 标题

        name varchar(10),       // 作者姓名

        time varchar(10),       // 时间

        type varchar(10),       // 文章分类

        content varchar(1000) );    // 内容

4;     list留言本列表界面,进行列表循环 foreach($list as $v){},  让所有的文章显示在list界面,并用href链接进行具体id对应的详情界面跳转。

      新建list.php  

 /*
文件名: list.php
作用: 从数据库中读取所有的留言
思路:
调用conn.php,
形成sql语句.
发送sql查询
查询显示
打印
*/

require('inc/conn.php');
require('inc/lib.php');

$sql = 'select * from msg';
$list = selAll($sql,$conn);

//print_r($list); 打印list列表内容
?>

/*html,css 省略*/


<body>
<div id="bt">
<div id="lb">
<ul>
<?php foreach($list as $v) { ?>
<li>留言标题:<a href="detail.php?id=<?php echo $v['id']; ?>"><?php echo $v['title']; ?></a></li>
<?php } ?>
</ul>
</div>
</div>
</body>
</html>

5, detail.php博客详情, 查看博客的详情界面

作用: 根据id=N,查询id=N的博客文章

部分代码如下:
require('inc/conn.php');
require('inc/lib.php');
$id = $_GET['id'] + 0;
$sql = "select * from tbblog where id = $id";
$info = selRow($sql,$conn);

// print_r($info);  打印id的博客内容,显示在html界面上

?>


/*... html ,css省略*/

<body>
<div id="bt">
<div id="lb">
<h1><?php echo $info['title']; ?></h1>

<p><?php echo $info['name']; ?></p>

<p><?php echo $info['time']; ?></p>

<p><?php echo $info['type']; ?></p>
<p><?php echo $info['content']; ?></p>
</div>
</div>
</body>
</html>

6; 在列表主页  应该有一个 博客的 “发布” 跳转按钮,点击跳转发布界面pub.html

pub.html 和 pub.php文件,进行文章的发布功能,先由pub.html 界面获得填写好的信息然后 相应跳转到php进行数据写入,检测写入成功或失败

部分代码:

  在pub.html界面 对 提交信息进行一个监听并post数据到pub.php

<form onsubmit="return chkmsg();" method="post" action="pub.php">

pub.html 中信息填写项的js验证
<script type="text/javascript"> function chkmsg() { var obj = document.getElementsByName('title')[0]; if(obj.value == '') { alert('标题不能为空'); return false; } obj = document.getElementsByName('username')[0]; if(obj.value == '') { alert('姓名不能为空'); return false; } obj = document.getElementsByName('content')[0]; if(obj.value == '') { alert('内容不能为空'); return false; } } </script>
 

文件pub.php 中:

<?php
/*
文件名:pub.php
作用: 接收新写的博客并入库,显示成功或失败  (只是一个显示发布博客成功与否的界面)
思路:
获取$_POST的值,  (获取从填写博客表单界面传来的值)
形成sql语句.
发送查询,
并根据查询结果,提示用户相关信息.
*/

require('inc/conn.php');

//获取$_POST的值
$title = $_POST['title'];
$name = $_POST['username'];

$time = $_POST['time'];
$content = $_POST['content'];
$sql = "insert into tbblog (title,name,time,content) values ('$title','$name','$name','$content')";
$rs = mysql_query($sql,$conn);
?>
/*css,html省略*/
/*发布新博客成功后隔两秒钟进行跳转*/
<script type="text/javascript">
    function zou() {
        window.location.href = 'list.php';
    }
    window.setTimeout('zou()',2000);
</script>
</head>


<body>
<?php if($rs) { ?>

<img src="images/tjcg.png" width="98" height="85">
<h1>留言成功</h1>

<?php } else { ?>

<img src="images/tjsb.png" width="98" height="85">
<h1>留言失败</h1>

<?php } ?>

</div>
</div>
</body>
</html>

 7.   edit.php编辑和删除

在detail.php详情界面添加    删除 和  编辑

<p>

  <a href="edit.php?id=<?php echo $info['id']; ?>">修改</a>

  <a href="delete.php?id=<?php echo $info['id']; ?>">删除</a>

  </p>

&nbsp 空格

编辑界面 和发布 界面一样,不同的是 编辑 需要 传入 一个 id,对应的告诉后台哪一条博客被编辑

写一个 隐藏 控件 来加入这个id  这些被编辑的控件的参数 要被 包含在

<form onsubmit = "return chktbblog();" method="post"  action = "edit_ok.php">

  <p>

    <input type = "hidden" name ="id" value = "<?php echo $info['id']; ?>"  />

  </p>

</form>

新建一个 edit_ok.php 文件,接收 编辑后的 博客内容

<?php

/*
文件名: edit_ok.php
目的: 修改留言的内容,以id为标志
接收什么数据??
$_POST数据,其中有id.
思路:
引入连接数据库的页面
引入lib.php
接收$_POST的值,
根据$_POST值形成sql语句,update语句.
以id为条件.
发送sql查询.
返回结果赋给一个变量.
根据返回结果,作判断,提示用户.
*/


require('inc/conn.php');
require('inc/lib.php');
$title = $_POST['title'];
$name = $_POST['username'];
$content = $_POST['content'];
$id = $_POST['id'] + 0;
$sql = "update msg set title = '$title',name = '$name', content = '$content' where id = $id";
// echo $sql;
$rs = mysql_query($sql,$conn);
?>

/*html,css省略*/

</style>
<script type="text/javascript">
    function zou() {
        window.location.href = 'list.php';
    }
    window.setTimeout('zou()',2000);
</script>

</head>
<body>
<div id="bt">
<div id="lb">
<?php if($rs) { ?>
<img src="images/tjcg.png" width="98" height="85">
<h1>编辑成功</h1>
<?php } else { ?>
<img src="images/tjsb.png" width="98" height="85">
<h1>编辑失败</h1>
<?php } ?>
</div>
</div>
</body>
</html>

8. delete.php删除

省略。。。。。

   

原文地址:https://www.cnblogs.com/dh2608/p/5475429.html