随着时代的发展,音乐已经逐渐成为了人们生活中必不可少的一种调剂品,人们对音乐的追求也越来越强烈,为此我通过PHP和MYSQL开发了本音乐网站
本音乐网站是一个综合性的音乐分享网站,它主要实现了娱乐新闻,上榜歌手,音乐试听,音乐下载,下载排行,音乐库,在线留言等基本的音乐共享功能
前台登录
保证注册用户通过身份验证进入系统前台进行操作
用户名、密码
用户登录是否成功和用户登录状态
用户注册
对注册用户进行检测,信息通过检测之后成为本系统的用户
用户名,密码、性别、QQ、邮箱等
注册的结果;提醒“用户注册成功”或者“用户注册失败”;
站内搜索
用户可以通过标题和类别搜索站内信息
输入标题、选择类别,点击搜索按钮
搜索出来的列表信息
增加留言
未登录系统的游客用户无法使用留言功能,登录后的用户增加留言
留言人、留言内容、呢称、头像等
系统提示留言成功,并显示新增的留言
留言回复
系统管理员查询已有的留言,并回复未回复的留言
留言的回复内容、回复人等
系统提示回复成功,并显示已回复的留言
留言管理
系统管理员查看所有的留言信息,并可以对其删除
选择某条留言,点击该条留言的删除按钮
系统提示是否删除,点击是则将该条留言删除
修改个人信息
用户可以根据自己当前的情况修改个人的信息
要修改的信息
提示修改的结果
后台登录
仅管理员能够登录后台
后台用户名,密码,前台的用户名
后台登录是否成功
添加音乐类型
管理员添加音乐类型
标签的相关信息
音乐类型列表
编辑音乐类型
管理员修改音乐类型
标签相关信息
是否编辑成功
删除音乐类型
管理员删除音乐类型
音乐类型
音乐类型删除成功或失败
添加音乐信息
用户添加音乐信息
音乐的相关信息
音乐信息列表
编辑音乐信息
用户修改音乐信息
音乐相关信息
是否编辑成功
删除音乐信息
用户删除音乐信息
音乐信息
音乐信息删除成功或失败
添加友情链接
申请添加友情链接
友情链接的相关信息
通过单击Logo可跳转到友情链接
删除友情链接
对于不合适的友情链接进行合理的清理
“删除”命令
显示删除结果;“删除成功”或者“删除失败”;
系统简介设置
管理员对系统简介进行设置
系统简介设置内容
设置是否成功
系统公告设置
管理员对系统公告进行设置
系统公告设置内容
设置是否成功
<?php
error_reporting(E_ALL ^ E_NOTICE);
$conn=@mysql_connect("localhost","root","root") or die("数据库链接失败".mysql_error());
mysql_select_db("daizu",$conn) or die("数据库链接失败".mysql_error());
mysql_query('set names utf8');
//设置时区
date_default_timezone_set('asia/shanghai');
define('SYS_ROOT', str_replace("\\", '/', dirname(__FILE__)));
define('File_ROOT', SYS_ROOT."/upload/");
define('IMG_ROOT', SYS_ROOT . "/upload/");
@extract($_POST);
@extract($_GET);
function getfirst($sql)
{
$res=mysql_query($sql);
$rows=mysql_fetch_array($res);
return $rows;
}
//
function getcount($sql){
$res=mysql_query($sql);
return mysql_num_rows($res);
}
function get_name($id,$table)
{
$sql="select * from $table where id='$id'";
$rows=getfirst($sql);
return $rows[name];
}
//遍历创建目录
function Remkdir($path) {
if (!file_exists($path)) {
Remkdir(dirname($path));
@mkdir($path, 0777);
}
}
//上传图片
function upload_image($inputname, $image=null, $type='upimages', $width=440) {
$n = time().rand(1000,9999).'.jpg';
$z = $_FILES[$inputname];
if ($z && strpos($z['type'], 'image')===0 && $z['error']==0) {
if (!$image) {
Remkdir( IMG_ROOT . '/' . "{$type}/" );
$image = "{$type}/{$n}";
$path = IMG_ROOT . '/' . $image;
} else {
Remkdir( dirname(IMG_ROOT .'/' .$image) );
$image = "{$type}/{$n}";
$path = IMG_ROOT . '/' .$image;
}
//echo $path ;
move_uploaded_file($z['tmp_name'], $path);
//echo $image;exit;
return $image;
}
return $image;
}
//获取文件后缀名
function get_extend($file_name)
{
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
return $extend;
}
//文件上传实现
function upload_file($inputname, $file=null)
{
$year = date('Y'); $day = date('md');
$z = $_FILES[$inputname];
$file_ext=get_extend($z['name']);
$n = time().rand(1000,9999).".".$file_ext;
if ($z && $z['error']==0) {
if (!$file) {
Remkdir( File_ROOT . '/' . "{$day}" );
$file = "{$day}/{$n}";
$path = File_ROOT . '/' . $file;
} else {
Remkdir( File_ROOT . '/' . "{$day}" );
$file = "{$day}/{$n}";
$path = File_ROOT . '/' .$file;
}
//echo $path ;
move_uploaded_file($z['tmp_name'], $path);
//echo $file;exit;
return $file;
}
return $file;
}
//分页函数.
function get_pager($url, $param, $count, $page = 1, $size = 10)
{
$size = intval($size);
if($size < 1)$size = 10;
$page = intval($page);
if($page < 1)$page = 1;
$count = intval($count);
$page_count = $count > 0 ? intval(ceil($count / $size)) : 1;
if ($page > $page_count)$page = $page_count;
$page_prev = ($page > 1) ? $page - 1 : 1;
$page_next = ($page < $page_count) ? $page + 1 : $page_count;
$param_url = '?';
foreach ($param as $key => $value)$param_url .= $key . '=' . $value . '&';
$pager['url'] = $url;
$pager['start'] = ($page-1) * $size;
$pager['page'] = $page;
$pager['size'] = $size;
$pager['count'] = $count;
$pager['page_count'] = $page_count;
if($page_count <= '1')
{
$pager['first'] = $pager['prev'] = $pager['next'] = $pager['last'] = '';
}
else
{
if($page == $page_count)
{
$pager['first'] = $url . $param_url . 'page=1';
$pager['prev'] = $url . $param_url . 'page=' . $page_prev;
$pager['next'] = '';
$pager['last'] = '';
}
elseif($page_prev == '1' && $page == '1')
{
$pager['first'] = '';
$pager['prev'] = '';
$pager['next'] = $url . $param_url . 'page=' . $page_next;
$pager['last'] = $url . $param_url . 'page=' . $page_count;
}
else
{
$pager['first'] = $url . $param_url . 'page=1';
$pager['prev'] = $url . $param_url . 'page=' . $page_prev;
$pager['next'] = $url . $param_url . 'page=' . $page_next;
$pager['last'] = $url . $param_url . 'page=' . $page_count;
}
}
return $pager;
}
?>
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37