作品介绍
PHP MYSQL个人博客网站作品使用php+mysql开发,系统编码简单,大学生PHP毕业设计水平。系统随处可见增删改查等基本操作,有批量删除之功能,涉及的知识点比较全面。
功能说明
数据库共6张数据表,表之间有关联,设计合理;系统具有管理员和会员两种用户角色,管理员(即日志的所有者)具有最高权限,会员可以给日志进行点赞等操作,访客仅能浏览不能点赞。采用session记录用户会话。
前端功能
游客可以浏览博文,注册登录会员后可以给日志博文顶踩。
后台功能
管理员发布博文和增加文章分类、发布照片和增加照片分类、增删管理员、增删会员、退出登录状态、搜索功能。
部分代码
前端代码
以下为前端页面的部分代码
<?php
include_once("head.php");
$action=isset($_GET['action'])?$_GET['action']:"index";
switch($action){
case "index":
?>
<div class='weizhi'>您的位置:首页</div>
<div style='width:705px; float:left'>
<?php
$countsql="select count(*) from article";
$pagesql="select * from article order by id desc ";
$bottom="?action=list";
$datasql=page($countsql,$pagesql,$bottom,4);
if($datasql){
while($rs=mysql_fetch_assoc($datasql[1])){
?>
<div style="width:700px;min-height:200px; margin:20px; background-color: #FFF;height:auto;">
<div style="margin:10px; font-weight:bold"><a href='article_read.php?id=<?php echo $rs['id']?>'><?php echo $rs['title']?></a> [<?php echo date("Y-m-d H:i:s",$rs['ptime'])?>]</div>
<div style="text-indent:2em; padding:0px 5px; line-height:1.4"><?php echo cut($rs['content'],300)?></div>
<div style="text-align:center;width:100%;margin-top:20px;">
<img src='img/click.jpg' /><?php echo $rs['click']?>
<img src='img/xin.jpg' style="cursor:pointer" onclick="good(<?php echo $rs['id']?>,'article')"/><span id='good_<?php echo $rs['id']?>'><?php echo $rs['good']?></span>
<img src='img/xia.jpg' style="cursor:pointer" onclick="bad(<?php echo $rs['id']?>,'article')"/><span id='bad_<?php echo $rs['id']?>'><?php echo $rs['bad']?></span>
</div>
</div>
<?php
}
}
?>
</div>
<div style='float:right'>
<?php
$pic=getArr("select * from pic order by id desc limit 0,4 ");
foreach($pic as $new){
?>
<div style='width:250px;height:220px;background-color:#fff;margin:20px 10px;line-height:30px;text-align:center'>
<a href='pic_read.php?id=<?php echo $new['id']?>'><img src='<?php echo $new['picurl']?>' style='width:220px;height:150px;border:0px;margin-top:20px'></a><br>
<?php echo $new['title']?>
</div>
<?php
}
?>
</div>
<div style='clear:both'></div>
<?php
break;
}
include_once("foot.php");
?>
后台代码
以下为后台页面的部分代码
<?php
include_once("admin_head.php");
getadmin();
$action=isset($_GET['action'])?$_GET['action']:"list";
switch($action){
case "insert":
$Arr=array();
if(isset($_GET['id'])&&$_GET['id']){
$id=intval($_GET['id']);
$Arr=getone("select * from article where id='$id'");
$Arr=fromTableInForm($Arr);
}
?>
<script>
function check(){
if(!$('input[name=title]').val()){alert('标题不能为空');$('input[name=title]').focus();return false;}
}
</script>
<form action='?action=save&id=<?php echo $id?>' method='post' onsubmit='return check()' class='myform' enctype='multipart/form-data' style='width:720px;height:330px;'>
<span class='myspan' style='width:80px;'>所属分类:</span><select name='tid'><?php
$Type=getArr("select * from articletype order by sort desc");
foreach($Type as $new){
echo "<option value='{$new['id']}' ".select($new['id'],$Arr['tid']).">{$new['title']}</option>";
}
?></select><br />
<span class='myspan' style='width:80px;'>日志标题:</span><input name='title' style='width:160px;' value='<?php echo $Arr['title'] ?>'><br>
<span class='myspan' style='width:80px;'>日志内容:</span><textarea name='content' style='width:600px;height:190px;'><?php echo $Arr['content'] ?></textarea><br>
<center><input type='submit' class='submit' value='保存'></center>
</form>
<?php
break;case "save":
$_POST=escapeArr($_POST);
$baseQuery="title='{$_POST['title']}',
content='{$_POST['content']}',
tid='{$_POST['tid']}'";
if(isset($_GET['id'])&&$_GET['id']){
$id=intval($_GET['id']);
$fsql=$_POST['picurl']?",picurl='{$_POST['picurl']}'":"";
$query="update article set $baseQuery where id={$id}";
}
else{
$query="insert into article set $baseQuery,ptime=".time();
}
if(isset($_POST['title'])&&mysql_query($query))
alert("操作成功!","?action=list");
else die($query);
break;
case "alldel":
$key=isset($_POST["allidd"])&&$_POST["allidd"]?$_POST["allidd"]:array(intval($_GET['id']));
for($i=0;$i<count($key);$i++){
if(!$find)mysql_query("delete from article where id={$key[$i]}");
}
alert('成功删除'.count($key).'条信息!','?action=list');
break;
case "list":
echo "<form style='padding:0px;margin:0px;' action='?action=list' method='post'>
<span class='status'> <i>日志管理</i></span>
日志分类:<select name='tid'><option>不限</option>";
$Type=getArr("select * from articletype order by sort desc");
foreach($Type as $new){
echo "<option value='{$new['id']}' ".select($_REQUEST['tid'],$new['id']).">{$new['title']}</option>";
}
echo"</select>
<input type='text' placeholder='请输入日志标题' value='{$_REQUEST['title']}' name='title'>
<input type='submit' value='搜索'>
<input type='button' οnclick=\"location='?action=insert'\" value='发布'> </form>";
$fsql=$fpage=""; if(isset($_REQUEST['tid'])&&$_REQUEST['tid']!="不限"){
$fsql.=" and tid ='{$_REQUEST['tid']}'";
$fpage.="&tid={$_REQUEST['tid']}";
}
if(isset($_REQUEST['title'])&&$_REQUEST['title']){
$fsql.=" and title like '%{$_REQUEST['title']}%'";
$fpage.="&title={$_REQUEST['title']}";
}
$countsql="select count(*) from article where 1=1 $fsql";
$pagesql="select * from article where 1=1 $fsql order by id desc";
$bottom="?action=list{$fpage}";
$datasql=page($countsql,$pagesql,$bottom,15);
echo "<form name='delform' id='delform' action='?action=alldel' method='post' class='margin0'>
<table style='width:98%;' align='center'>";
if($datasql){
echo "<tr bgcolor='#eeeeee' height='30' align='center'><td>标题</td><td>所属分类</td><td>发布时间</td><td>管理</td></tr>";
while($rs=mysql_fetch_assoc($datasql[1])){
$type=getone("select * from articletype where id='{$rs['tid']}'");
echo "<tr height='20' οnmοuseοver=\"this.bgColor = '{$W['tr_color']}'\" οnmοuseοut=\"this.bgColor = ''\">
<td align='left'><input type=checkbox value='{$rs['id']}' name='allidd[]' id='allidd'>{$rs['title']}</td>
<td align='center'>{$type['title']}</td>
<td align='center'>".date("Y-m-d H:i",$rs['ptime'])."</td>
<td align='center'>
<a href='?action=insert&id={$rs['id']}'>编辑</a>
<a href='javascript:ask(\"?action=alldel&id={$rs['id']}\")'>删除</a>
</td>
</tr>";
}
echo "<tr><td colspan=5 align='right'>
<div style='width:280px;float:left'>{$datasql['pl']}{$datasql['pldelete']}</div>
<div style='float:right'>{$datasql[2]}</div>
<div style='clear:both;'></div>
</td></tr>";
}
echo "</table></form>";
break;
}
include_once("admin_foot.php");
?>
样式代码
以下为CSS部分代码
/*全局*/
body{margin:0px;font-size:13px;background:url(top.jpg) no-repeat; background-size:100% 100%;}
table{border-collapse:collapse;border:1px #999 solid; margin:10px auto}
table tr{height:40px;}
table td{border-collapse:collapse; border:1px #999 solid;}
input,select,textarea{margin:5px; height:25px;}
input[type=submit],input[type=button]{width:80px;}
input[type=checkbox],input[type=radio]{width:16px;height:16px}
.noborder {border:0px;}
.noborder td{border:0px;}
.myform{ border:solid 5px #ccc; padding:10px;width:400px; background-color:#F3F3F3;margin:20px auto;}
.submit{padding:5px 10px 5px 10px;}
.submit:hover{background-color:#999}
.myspan{display:inline-block}
.px60{width:60px}
.ex_page_bottm{border:solid 1px #ccc;display:inline-block;line-height:20px;font-family:simsun;width:40px;cursor:pointer}
.ex_page_sec{background-color:#eee; }
.ex_page_link A:visited {TEXT-DECORATION:none;COLOR:#664444;}
.ex_page_link A:link {text-decoration:none;COLOR:#660000;}
.ex_page_link A:hover {TEXT-DECORATION: none;COLOR:#664444;FONT-WEIGHT: normal;FONT-STYLE: normal;}
.op{cursor:pointer;float:left;margin-top:5px;}
.op2{cursor:pointer;float:left;margin-left:10px;margin-top:5px;}
.weizhi{width:980px;height:40px; line-height:40px; margin:10px auto}
成品效果
前端页面截图
首页
文章列表
文章详情
相册列表
相册详情
注册登录
后台页面截图
日志管理
相册管理
会员管理
源码文件及下载
源码文件结构如图
作品源码下载
作品源码下载【STU网页】地址如下:
<a href="https://www.stu-works.com/">STU网页作业</a>
发表评论 取消回复