【免费】分享一套优质的基于Php的动漫网站系统、动漫分享网站系统

博主介绍:

国内互联网知名博主 · 5年软件开发师

🎯 研究方向:

✔ 项目指导 | PPT | 代码实现 | 源码定制 | 代码讲解

Java(SpringBoot / SSM) · Python · Vue ·Mysql数据库 · 微信小程序 · Android

大数据 · 机器学习/深度学习 · React · Go · PHP · Node.js等

源码免费获取:

如需完整源码及数据库脚本,可关注并私信获取,或在评论区留言交流技术问题

大家好,分享一套免费的基于Php+MySQL的动漫网站系统、动漫信息系统 。

动漫介绍网站 角色功能阐述

本系统分为普通用户管理员两大使用角色,两类用户权限相互独立,下面分别对二者的功能模块进行详细说明。

一、普通用户功能

普通用户面向动漫爱好者,主要用于浏览动漫资讯、社区交流、管理个人账号,包含 6 大功能:

  1. 登录:输入账号密码完成身份校验,登录后才可访问个人中心、论坛发帖等需要权限的功能。
  2. 注册:新用户填写账号、密码等基础信息,创建属于自己的网站账号。
  3. 系统首页:网站的门户页面,展示热门动漫推荐、公告通知、导航入口,可以快速跳转至各个功能板块。
  4. 动漫信息:浏览平台内所有动漫资料,查看动漫简介、封面、分类详情,支持动漫收藏操作。
  5. 动漫交流论坛:用户可以在论坛板块发布帖子、浏览他人话题、评论互动,实现动漫爱好者之间的交流讨论。
  6. 个人中心:用户管理自身账号的后台,支持修改头像、昵称、性别等个人资料;同时可查看好友列表、聊天私信记录、自己发布过的论坛帖子、收藏的动漫内容。

二、管理员功能

管理员属于平台运维管理者,拥有全站最高权限,负责网站内容、用户、社区秩序的管控,共 10 项功能:

  1. 系统首页:管理员后台首页,查看网站整体运行概况、各类数据统计入口。
  2. 用户管理:管理全站注册用户,可以查询用户列表、封禁违规账号、修改用户基础信息。
  3. 动漫分类管理:维护动漫的分类标签,新增、编辑、删除动漫分类(如热血、治愈、科幻等),规范动漫资源归类。
  4. 动漫信息管理:动漫资源核心管理模块,管理员上传、新增、修改、下架动漫介绍资料,管控网站展示的全部动漫内容。
  5. 消息提醒管理:给全站用户推送系统通知、公告消息,管理站内提醒内容。
  6. 举报信息管理:查看用户提交的论坛、私信等板块的举报记录,审核违规内容,做出删帖、处罚用户等处理。
  7. 私信管理:监管平台内用户之间的私信聊天内容,排查违规私信信息,维护聊天环境。
  8. 动漫交流论坛:对论坛板块进行管理,审核帖子、删除违规帖子、管理论坛评论,维护社区交流秩序。
  9. 系统管理:网站基础配置功能,例如修改轮播图、系统名称、网站参数,管理后台账号密码等系统基础设置。

核心代码:

php 复制代码
<?php
session_start();
class dongmanxinxiController extends CommonController {
    //动漫信息数据表字段
    public $columData = [
		'id','addtime','dongmanmingcheng','leixing','fengmian','dongmanjieshao',
        'dongmanneirong','fabushijian','yonghuzhanghao','thumbsupnum','crazilynum','discussnum','storeupnum'
    ];

    /**
     * 【核心1】分页列表查询(后台管理员)GET
     */
    public function page(){
        //token登录校验
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>401,'msg'=>"你还没有登录。"]));
        $userid = $tokens['id'];

        $where = " where 1 ";
        //普通用户只能查看自己发布的数据
        if($tokens['tablename'] == 'yonghu') {
            $where .= " and `yonghuzhanghao` = '".$tokens['username']."' ";
        }
        //分页参数
        $page = $_REQUEST['page']??"1";
        $limt = $_REQUEST['limit']??"10";
        $sort = $_REQUEST['sort']??"id";
        $order = $_REQUEST['order']??"asc";

        //搜索条件拼接
        foreach ($_REQUEST as $k => $val){
			if(in_array($k, $this->columData) && $val != ''){
                $where.= " and ".$k." like '".$val."'";
			}
        }
        //统计总条数
        $countSql = "select * from `dongmanxinxi` ".$where;
        $countRes = table_sql($countSql);
        $total = $countRes->num_rows;
        //分页偏移量
        $start = ($page-1)*$limt;
        //查询分页数据
        $dataSql = "select * from `dongmanxinxi` ".$where." order by ".$sort." ".$order." limit ".$start.",".$limt;
        $result = table_sql($dataSql);
        $list = [];
        while ($row = $result->fetch_assoc()){
            array_push($list,$row);
        }
        exit(json_encode([
            'code'=>0,
            'data' => [
                "total" => $total,
                "pageSize" => $limt,
                "currPage" => $page,
                "list" => $list
            ]
        ]));
    }

    /**
     *【核心2】新增动漫 POST
     */
    public function save(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>401,'msg'=>"你还没有登录。"]));

        $tmpData = strval(file_get_contents("php://input"));
        $postData = json_decode($tmpData,true);
        $keyArr = $valArr = array();
        foreach ($postData as $key => $value){
            if (in_array($key, $this->columData) && $key != 'id'){
                if(!empty($value) || $value === 0) {
                    array_push($keyArr,"`".$key."`");
                    array_push($valArr,"'".$value."'");
                }
            }
        }
        $k = implode(',',$keyArr);
        $v = implode(',',$valArr);
        $sql = "INSERT INTO `dongmanxinxi` (".$k.") VALUES (".$v.")";
        table_sql($sql);
        exit(json_encode(['code'=>0]));
    }

    /**
     *【核心3】修改动漫 POST
     */
    public function update(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>401,'msg'=>"你还没有登录。"]));

        $tmpData = strval(file_get_contents("php://input"));
        $postData = json_decode($tmpData,true);
        $updateArr = array();
        $id = 0;
        foreach ($postData as $key => $value){
            if (in_array($key, $this->columData)){
                if ($key == "id") $id = $value;
                if(!empty($value) || $value === 0) {
                    array_push($updateArr,$key." = '".$value."'");
                }
            }
        }
        $setStr = implode(',',$updateArr);
        $sql = "UPDATE dongmanxinxi SET ".$setStr." where id = ".$id;
        table_sql($sql);
        exit(json_encode(['code'=>0]));
    }

    /**
     *【核心4】删除动漫 POST(支持批量删除)
     */
    public function delete(){
        $ids = strval(file_get_contents("php://input"));
        preg_match_all('/\d+/',$ids,$arr);
        $str = implode(',',$arr[0]);
        $sql = "delete from dongmanxinxi WHERE id in({$str})";
        table_sql($sql);
        exit(json_encode(['code'=>0]));
    }

    /**
     *【核心5】查询单条动漫详情 GET
     */
    public function detail($id=false){
        if ($id){
            $where = "`id` = ".$id;
        }
        $sql = "select * from `dongmanxinxi` where ".$where;
        $result = table_sql($sql);
        $info = $result->fetch_assoc();
        exit(json_encode([
            'code'=>0,
            'data'=> $info
        ]));
    }

    /**
     *【核心6】动漫点赞 / 点踩
     */
    public function thumbsup($id=false){
        $type = isset($_REQUEST['type'])?$_REQUEST['type']:"";
        if ($type==1){
            //点赞+1
            $result = $this->andone('dongmanxinxi',$id,'thumbsupnum',1);
        }else{
            //点踩+1
            $result = $this->andone('dongmanxinxi',$id,'crazilynum',1);
        }
        exit(json_encode(['code'=>0,'msg'=>"投票成功"]));
    }
}
  1. page():动漫信息分页查询(管理员后台列表)
  2. save():新增动漫信息
  3. update():修改动漫信息
  4. delete():批量删除动漫
  5. detail():获取动漫详情
  6. thumbsup():动漫点赞、点踩功能
php 复制代码
<?php
session_start();
class UsersController extends CommonController {
	public function __construct()
    {
        //开启跨域
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
        header('Access-Control-Allow-Headers:Origin,Content-Type,Accept,token,X-Requested-With,device');
    }
    //数据表允许操作字段
    public $columData = ['id','addtime','username','password','role','image'];

    /**
     * 管理员登录接口
     */
    public function login(){
        $username = isset($_REQUEST['username'])?$_REQUEST['username']:"";
        $password = isset($_REQUEST['password'])?$_REQUEST['password']:"";
        $sql = "select * from `users` where username = '".$username."' and password = '".$password."'";
        $result = table_sql($sql);
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                //生成身份令牌token
                $token_array = [
                    "iat" => time(),
                    "exp" => time()+7200,
                    'tablename'=> 'users',
					'isAdmin' => 1,
                    'id' => $row["id"],
                    "success" => $row
                ];
                $tokens = base64_encode(json_encode($token_array));
                exit(json_encode(['code' => 0, 'token' => $tokens]));
            }
        } else {
            exit(json_encode(['code'=>500,'msg'=>"账号或密码错误"]));
        }
    }

    /**
     * 分页查询管理员列表
     */
    public function page(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>403,'msg'=>"你还没有登录。"]));
        $page = isset($_REQUEST['page'])?$_REQUEST['page']:"1";
        $limt = isset($_REQUEST['limit'])?$_REQUEST['limit']:"10";
        $sort = isset($_REQUEST['sort'])?$_REQUEST['sort']:"id";
        $order = isset($_REQUEST['order'])?$_REQUEST['order']:"asc";
        $startCount = ($page-1)*10;
        $sql = "select * from `users` order by ".$sort." ".$order." limit ".$startCount.",".$limt;
        $result = table_sql($sql);
        $arrayData = array();
        while ($datas = $result->fetch_assoc()){
            array_push($arrayData,$datas);
        }
        exit(json_encode(['code'=>0,'data' => ['list' => $arrayData]]));
    }

    /**
     * 新增管理员
     */
    public function save(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>403,'msg'=>"你还没有登录。"]));
        $tmpData = strval(file_get_contents("php://input"));
        $postData = json_decode($tmpData,true);
        $keyArr = $valArr = array();
        foreach ($postData as $key => $value){
            if (in_array($key, $this->columData)){
                array_push($keyArr,"`".$key."`");
                array_push($valArr,"'".$value."'");
            }
        }
        $k = implode(',',$keyArr);
        $v = implode(',',$valArr);
        $sql = "INSERT INTO `users` (".$k.") VALUES (".$v.")";
        table_sql($sql);
        exit(json_encode(['code'=>0]));
    }

    /**
     * 修改管理员信息
     */
    public function update(){
        $tmpData = strval(file_get_contents("php://input"));
        $postData = json_decode($tmpData,true);
        $v = array();
        foreach ($postData as $key => $value){
            if (in_array($key, $this->columData) && $key != 'id'){
                array_push($v,$key." = '".$value."'");
            }
        }
        $value = implode(',',$v);
        $sql = "UPDATE users SET ".$value." where id=".$postData['id'];
        table_sql($sql);
        exit(json_encode(['code'=>0]));
    }

    /**
     * 批量删除管理员
     */
    public function delete(){
        $ids = strval(file_get_contents("php://input"));
        preg_match_all('/\d+/',$ids,$arr);
        $str = implode(',',$arr[0]);
        $sql = "delete from users WHERE id in({$str})";
        table_sql($sql);
        exit(json_encode(['code'=>0]));
    }
}
相关推荐
小义_2 小时前
Linux 性能排查实战
linux·服务器·php
宋拾壹5 小时前
php对接携程验票核销
android·php·android studio
catchadmin16 小时前
NativePHP v4 让 Blade 构建原生 iOS 与 Android 界面
android·ios·ai·php
Sagittarius_A*18 小时前
Burst Lab | PHP 审计 13|反序列化(三):POP 链构造与 Gadget Chain 分析
开发语言·web安全·php·代码审计·反序列化
蓝速科技18 小时前
蓝速科技丨新旧楼宇混杂场景下会议室预约门牌屏一体化改造方案
开发语言·科技·php
Sagittarius_A*21 小时前
Burst Lab | PHP 审计 14|反序列化(四):字符串逃逸与绕过技巧
开发语言·安全·php·web·反序列化
筱璦1 天前
PHP+ VUE3机构级股票分仓管理交易系统源码可出
开发语言·php·vue3·量化·股票分仓
你怎么知道我是队长1 天前
IPv6 地址完全解析:从结构到实战
开发语言·php
XR1234567881 天前
工厂车间无线网络怎么选?AGV 与复杂环境是分水岭
开发语言·php