当前位置:网站首页>基于php在线音乐网站管理系统获取(php毕业设计)
基于php在线音乐网站管理系统获取(php毕业设计)
2022-08-01 21:21:00 【毕设源码库】
基于php在线音乐网站管理系统获取
在线音乐网站管理系统是基于php编程语言,thinphp框架和mysql数据库设计,本系统功能非常的完善,主页分为用户和管理员两个角色,用户可以听音乐,交友,评论,下载,发动态等功能,管理员则是对网站的音乐,歌单,用户,评论等进行管理;本设计可以作为php毕业设计来参考和借鉴,功能很齐全,页面也美观。
一.技术环境
php版本:7.0 及以上
后台框架:thinkphp
开发工具: notepad++,sublime,phpstorm都可
数据库: mysql
服务器: apache
集成环境: phpstudy
详细技术:HTML+CSS+JS+PHP+thinkphp+MYSQL+PhpStudy
二.项目文件

三.系统功能

四.代码示例
<?php
// +----------------------------------------------------------------------
// | 注册功能
// | 设计思路,首先判断用户输入的数据是否正确,在判断用户的邮箱有没有注
// | 过,满足条件,注册成功,ajaxReturn函数在include.php中
// +----------------------------------------------------------------------
//引用常用的函数
require_once('../../../config/config.php');
//获取前台发来的数据
$name = $_POST['name'];//获取用户名
$password = $_POST['password'];//获取密码
$email = $_POST['email'];//获取游戏
$password_o = $_POST['password_o'];//获取重复密码
//判断用户名
if(!$name) {
ajaxReturn(0,'用户名格式不正确,英文加数字!');
}
//判断密码是否输入正确
if(!is_password($password)) {
ajaxReturn(0,'密码格式不正确,不少于6位!');
}
//判断邮箱是否输入正确
if(!is_email($email)) {
ajaxReturn(0,'邮箱格式不正确!');
}
//判断两次密码输入是否一致
if($password != $password_o) {
ajaxReturn(0,'两次输入的密码不一致!');
}
//查询数据库是否已经注册过此邮箱
$sql = "SELECT * FROM users WHERE email='$email'";
$result1 = fetchAll($link,$sql);
if($result1) {
ajaxReturn(0,'抱歉,此邮箱已经注册过!');
}
$data = array(
'name'=>$name,
'password'=>$password,
'email'=> $email,
'addtime'=>date('Y-m-d H:i:s')
);
//保存用户的注册信息到users表,其中的$link在include.php里
$result2 = insert($link,$data,'users');
//注册成功和失败的话,返回提示
if(!$result2) {
ajaxReturn(0,'注册失败!');
}else{
ajaxReturn(1,'恭喜你注册成功');
}
<?php
// +----------------------------------------------------------------------
// | 登录功能
// | 设计思路,获取到用户输入的账号和密码,验证用户输入的数据,验证通过,
// | 保存用户的登录信息到数据库,并且生成cookie,提示用户登录成功
// +----------------------------------------------------------------------
//引用常用的函数
require_once('../../../config/config.php');
//获取登录的用户名
$name = $_POST['name'];
//获取用户的登录密码
$password = $_POST['password'];
//获取登录的角色
$role = $_POST['role'];
//判断用户输入的用户名是否为空
if (!$name) {
//如果为空,返回提示信息
ajaxReturn(0, '请输入用户名');
}
//判断用户输入的密码是否为空
if (!$password) {
ajaxReturn(0,'请输入密码');
}
//sql语句
$sql = "SELECT * FROM users WHERE name='$name' AND password='$password'";
//查询数据库用户记录,fetchOne函数在mysql.php里
$result = fetchOne($link,$sql);
//如果没有查询到此用户
if(!$result) {
ajaxReturn(0,'抱歉,登录名和密码错误!');
}else {
//保存用户的session
$user = array(
'id'=>$result['id'],
'name'=>$result['name'],
'avatar' =>$result['avatar'],
'role'=>$result['role']
);
//如果是用户登录
if($role == 1) {
if($result['role'] == 1){
//设置session,失效时间1小时
$_SESSION["user"]=$user;
ajaxReturn(1,'恭喜你,登录成功!');
}else{
ajaxReturn(0,'抱歉,你不是用户!');
}
}
//如果是管理员登录
if($role == 2 ) {
//判断是否是管理员
if($result['is_admin'] == 1) {
//设置session,失效时间1小时
$_SESSION["admin"]=$user;
//提示登录成功
ajaxReturn(2,'恭喜你,登录成功!');
}else{
//如果不是管理员,给予提示
ajaxReturn(0,'抱歉,你不是管理员!');
}
}
}
五.项目截图


















边栏推荐
- Kubernetes 如何实现组件高可用
- 案例:MySQL主从复制与读写分离
- JS hoisting: how to break the chain of Promise calls
- C陷阱与缺陷 第8章 建议与答案 8.2 答案
- 附录A printf、varargs与stdarg A.2 使用varargs.h来实现可变参数列表
- R语言 pca主成分分析的主要方法
- ORI-GB-NP半乳糖介导冬凌草甲素/姜黄素牛血清白蛋白纳米粒的研究制备方法
- PyTorch笔记 - Attention Is All You Need (2)
- 空间数据库开源路,超图+openGauss风起禹贡
- C Pitfalls and Defects Chapter 7 Portability Defects 7.6 Memory Location 0
猜你喜欢

CS-NP白蛋白包覆壳聚糖纳米颗粒/人血清白蛋白-磷酸钙纳米颗粒无机复合材料

51.【结构体初始化的两种方法】

C Expert Programming Chapter 1 C: Through the Fog of Time and Space 1.4 K&R C

牛血清白蛋白-葡聚糖-叶黄素纳米颗粒/半乳糖白蛋白磁性阿霉素纳米粒的制备

作业8.1 孤儿进程与僵尸进程

C语言_枚举类型介绍

关于Request复用的那点破事儿。研究明白了,给你汇报一下。

R语言进行相关的操作

Transplant MQTT source code to STM32F407 development board

PyQt5 + MySQL5.8 【学生信息管理系统】【增删改查】
随机推荐
Day016 类和对象
ISC2022 HackingClub white hat summit countdown 1 day!Most comprehensive agenda formally announced!Yuan universe, wonderful!
Graph adjacency matrix storage
磷酸化甘露糖苷修饰白蛋白纳米粒/卵白蛋白-葡聚糖纳米凝胶的
那些关于DOM的常见Hook封装(一)
C专家编程 前言
2022-08-01 第五小组 顾祥全 学习笔记 day25-枚举与泛型
案例:MySQL主从复制与读写分离
织梦通过数据库查询调用当前文章的留言
方舟开服需要知道的那些事
Shell编程条件语句
C专家编程 第1章 C:穿越时空的迷雾 1.3 标准I/O库和C预处理器
Jmeter combat | Repeated and concurrently grabbing red envelopes with the same user
Transplant MQTT source code to STM32F407 development board
JS hoisting: how to break the chain of Promise calls
【Unity实战100例】文件压缩Zip和ZIP文件的解压
C陷阱与缺陷 第5章 库函数 5.5 库函数signal
【接口测试】JMeter调用JS文件实现RSA加密
C语言_typedef和结构体
How to choose Visibility, Display, and Opacity when interacting or animating