코드에서 PHP을 기반으로 보도자료 시스템을 작성하는 방법을 아시나요? 아마도 많은 대학생들이 기말고사에서 PHP를 사용하여 일부 시스템을 개발해 달라고 요청할 것이므로 서둘러서 배우십시오! ! !
II. 요구사항 분석
1. 소프트웨어 기능
News Release System(뉴스 릴리스 시스템 또는 콘텐츠 관리 시스템)이라고도 합니다. ) , 은 네트워크 기반의 보도자료 관리 시스템입니다. 이 시스템은 보도자료의 거의 모든 기능을 완료할 수 있습니다. 온라인 보도자료 시스템을 사용함으로써 인터넷은 텔레비전 신문보다 더 중요한 뉴스 미디어 역할을 하고 있습니다.
이 시스템의 설계는 이 시스템의 기능을 구현하기 위한 전제 조건입니다. 첫 번째는 출판 기능과 뉴스 분류 관리 기능을 제공하는 것입니다. 둘째, 사용자 인터랙션이 구현되어 사용자가 뉴스 댓글에 참여할 수 있습니다. 마지막으로, 관리자 관리를 용이하게 하기 위해서는 본 보도자료의 종합적인 관리가 이루어져야 합니다.
이 거대한 기능을 실현하기 위해 먼저 사용자 권한을 나눕니다. 방문자(로그인하지 않은 사람)는 보도자료 시스템의 메인 페이지에 접속하여 모든 관련 뉴스를 검색하고 다른 사람들의 댓글을 볼 수 있습니다. 하지만 특별한 특권은 없습니다. 등록된 시청자(이용자)는 게스트 시청자의 모든 기능을 가질 뿐만 아니라, 특정 뉴스에 댓글을 달 수도 있습니다. 마지막으로 모든 뉴스와 뉴스 카테고리를 관리할 수 있는 최고 권한을 가진 관리자가 있습니다. 새로운 뉴스 카테고리를 추가하고 수정할 수 있으며, 새로운 뉴스 콘텐츠도 추가하고 수정할 수 있습니다. 2.소프트웨어 인터페이스
뉴스 보도 시스템이 갖추어야 할 기본 기능과 보도 자료 시스템에 대한 사용자의 요구 사항에 따라 우리는 보도 자료 시스템을 기능 모듈로 나누어 각 기능의 구현을 용이하게 합니다. 동시에 사용자가 사용하기에도 매우 편리하고 직관적입니다. 따라서 반복적인 분석과 설계를 거쳐 이 보도자료 시스템을 9개의 기능 모듈로 나누었습니다. 세부 기능 모듈명은 다음과 같습니다.(1) 뉴스 분류 열람 모듈
(2) 뉴스 검색 모듈
(3) 사용자 로그인 후 뉴스 댓글 모듈
(4) 사용자 로그인 등록 모듈 포함 (5) 관리자 백엔드 뉴스 릴리스 모듈 (6) 관리자 백엔드 뉴스 관리 모듈 (7) 관리자 백엔드 뉴스 카테고리 추가 모듈 (8) 관리자 백엔드 뉴스 카테고리 관리 모듈
( 9) 관리자 백엔드 댓글 검토 모듈
3.소프트웨어 디자인
1.데이터베이스 디자인
데이터베이스 디자인은 CMS 부서의 데이터베이스 디자인의 핵심입니다. 데이터베이스 설계는 CMS 시스템의 기능적 프로세스와 운영 체제의 효율성을 직접적으로 결정합니다. 따라서 데이터베이스 설계에는 신중한 고려가 필요합니다. 보도 자료 시스템의 모든 기능을 고려하십시오.
데이터베이스는 다음 데이터 항목으로 설계되었습니다: (1) 뉴스 카테고리: 카테고리ID, 카테고리 이름.
(2) 사용자 정보: UserID, 사용자 이름, 로그인 비밀번호.
(3) 관리자 정보:AdministratorID, 사용자 이름, 로그인 비밀번호, 직업. (데이터베이스 조작을 통해서만 관리자 추가 가능)
(4) 보도자료 : 뉴스ID, publishedadmin ID, categoryID, 제목, 이미지URL, 내용, 공개시간, 클릭수 , 첨부파일URL.
(5) 댓글 정보 : 댓글ID, user ID, newsID, 댓글 내용, 댓글 시간, 리뷰 상태, 게시자IP.
create database news; use news; create table category( category_id int auto_increment primary key, name char(20) not null ); create table users( user_id int auto_increment primary key, name char(20) not null, password char(32) ); create table admin( admin_id int auto_increment primary key, admin char(20) not null, apassword char(20), position char(20) ); create table news( news_id int auto_increment primary key, admin_id int, category_id int, title char(100) not null, picture char(50), content text, publish_time char(30), clicked int, attachment char(100), constraint FK_news_admin foreign key (admin_id) references admin(admin_id), constraint FK_news_category foreign key (category_id) references category(category_id) ); create table review( review_id int auto_increment primary key, user_id int, news_id int, content text, publish_time datetime, state char(10), ip char(15), constraint FK_review_users foreign key (user_id) references users(user_id), constraint FK_review_news foreign key (news_id) references news(news_id) );
2. 소프트웨어 디자인
보도자료 시스템은 프론트 데스크와 백 데스크의 두 부분으로 나뉩니다. 프런트엔드 운영자의 경우, CMS 시스템의 프런트엔드 페이지는 눈으로 볼 수 있는 부분이므로 프런트엔드 운영은 최대한 직관적이고 편리해야 합니다. 사용자는 첫 페이지를 열어 관련 뉴스를 쉽게 찾아볼 수 있으며, 뉴스를 직접 검색하고 관련 뉴스를 직접 찾아볼 수 있습니다. 동시에 다양한 뉴스 카테고리에 따라 다양한 유형의 뉴스를 찾아볼 수 있습니다. 등록된 사용자는 로그인 인터페이스를 통해 로그인할 수 있습니다. 사용자가 성공적으로 로그인한 후에는 댓글을 달 수 있는 권한을 갖게 됩니다. 사용자가 일부 뉴스를 검색한 후 뉴스에 댓글을 작성해야 하는 경우 뉴스의 해당 댓글 섹션에 들어가서 댓글을 달고 싶은 콘텐츠를 추가하기만 하면 됩니다. , 그리고 그는 성공적으로 추가될 수 있습니다. 동시에 다른 사람의 댓글을 계속 찾아보려면 돌아가세요.
백엔드 관리의 경우 관리자는 프론트엔드의 모든 기능을 운영할 수 있는 권한을 가질 뿐만 아니라 웹사이트에 대한 종합적인 관리도 수행할 수 있습니다. 구체적으로 뉴스 관리에서는 뉴스 카테고리가 첫 페이지에 표시되도록 새로운 카테고리를 설정하고 추가할 수 있으며, 동시에 기존 뉴스 카테고리도 추가할 수 있습니다. 그리고 뉴스 삭제. 웹사이트의 역동성을 보장합니다. 둘째, 관리자는 댓글 검토 등 뉴스기사를 종합적으로 관리하는 업무를 담당합니다.
IV. 소프트웨어 구현
(1)뉴스 분류 검색 모듈
뉴스 검색은 모든 사용자가 뉴스를 빠르게 검색할 수 있도록 하는 가장 기본적인 권한입니다. 기능. 사용자가 보도 자료 시스템의 홈페이지에 들어가서 어떤 유형의 뉴스를 검색하고 싶은지 홈페이지에서 뉴스 카테고리 이름을 클릭하기만 하면 원하는 뉴스 유형의 모든 뉴스가 팝업됩니다. 찾아보기. 그리고 모든 뉴스를 보도자료가 나온 시간순으로 정리합니다. 이러한 유형의 뉴스가 열린 뉴스 목록에서 사용자는 해당 뉴스 제목을 클릭하기만 하면 해당 뉴스의 자세한 내용을 빠르게 탐색할 수 있습니다. 뉴스 제목, 뉴스의 세부 내용, 뉴스 출처, 뉴스 발표 시간 및 클릭 수 등을 포함합니다. 따라서 어떤 유형의 뉴스에 관심을 갖고 싶은 사용자에게 편리함을 제공합니다. 동시에 이 보도 자료 시스템에는 두 개의 뉴스 검색 모듈도 추가됩니다. 하나는 뉴스 클릭 수를 기준으로 사용자에게 가장 인기 있는 뉴스를 나열하는 것입니다. 즉, 클릭수가 가장 많은 뉴스입니다. 다른 하나는 관리자가 뉴스를 게시한 시간을 기준으로 사용자를 위한 최신 뉴스를 나열하는 것입니다.
따라서 이 3 블록 뉴스 검색 기능 모듈을 통해 다양한 사용자의 다양한 요구 사항을 충족할 수 있습니다.
핵심 코드:
<section> <p id="yule" class="heading">娱乐</p> <p class="content"> <ul class="list"> <?php $sql= "select * from news where category_id=1"; $newsRes = mysql_query($sql); while($news = mysql_fetch_array($newsRes)){ echo"<li><a href='content.php?news_id=".$news[0]."'>$news[3]</a></li>"; } ?> </ul> </p> </section>
(2)뉴스 검색 모듈
사용자가 원하는 뉴스를 빠르게 검색할 수 있도록 이 뉴스 릴리스 시스템에 대한 뉴스 검색 기능을 설계합니다. 뉴스 검색이란 사용자가 보도 자료 시스템 홈페이지에서 뉴스 검색 입력 상자를 찾은 다음 쿼리 입력 상자에 뉴스를 쿼리할 키워드를 입력하고 데이터베이스에 제출하기만 하면 된다는 의미입니다. 데이터베이스는 데이터를 일치시킨 다음 사용자가 쿼리하려는 뉴스 콘텐츠를 반환합니다. 이 검색 방법은 사용자가 입력한 키워드가 뉴스에 포함되어 있는 한 일치하는 뉴스가 목록에 표시됩니다. 따라서 사용자는 자신이 찾고 싶은 뉴스를 직관적으로 탐색할 수 있어 시간을 절약하고 불필요한 탐색 작업을 피할 수 있습니다.
핵심 코드:
$sql="select * from news where title like '%{$find}%' order by news_id limit {$num} , $fnum"; //echo $sql; $result=mysql_query($sql); while($row=mysql_fetch_array($result)) { $sqls="select name from category where category_id={$row['category_id']}"; $selected=mysql_query($sqls); $a=mysql_result($selected,0); $b=$row['news_id']; echo "<tr>"; echo "<td style='color:white;'>{$a}</td>"; echo "<td style='color:white;'><a href=content.php?news_id=$b style='color:white;'>{$row['title']}</td>"; echo "</tr>"; }
(3) 사용자가 로그인 후 뉴스 댓글을 게시하는 모듈
사용자의 경우 로그인이 가능하며, 로그인 후 해당 뉴스를 계속해서 열람할 수 있습니다. 차이점은 로그인 후 사용자가 일반 관광객보다 낫다는 것입니다. 로그인 사용자는 뉴스 콘텐츠를 탐색하는 동안 뉴스에 자신의 뉴스 댓글을 게시할 수 있습니다. 이용자들은 댓글 게시판을 통해 서로 소통할 수 있습니다. 대화형 플랫폼을 형성합니다.
핵심 코드:
<?php header("Content-type:text/html;charset=utf-8"); $server=@mysql_connect("localhost", "root", "")or die("数据库连接失败!"); mysql_query("SET NAMES 'UTF8'"); $dblink=@mysql_select_db("news") or die("选择当前数据库失败!"); $newsid=$_GET['news_id']; //echo '<script>alert('.$newsid.');</script>'; $sql="select * from news where news_id =".$newsid; $rs=mysql_query($sql); while($rows=mysql_fetch_array($rs)){ $title = $rows['title']; $content = $rows['content']; $picture = $rows['picture']; } $sql="select * from review where state='已审核' and news_id =".$newsid; $rs=mysql_query($sql); @$userid=$_SESSION['user_id']; ?>
(4)사용자 로그인 및 등록 모듈
사용자 권한을 제한하며, 사용자 로그인 모듈은 필수입니다. 계정과 비밀번호가 정확하면 일반 사용자는 사용자 로그인을 선택하고, 관리자는 관리자 로그인을 선택하면 정상적으로 로그인할 수 있습니다. 사용자로 등록할 수도 있습니다.
核心代码:
<p class="box_lg"> <p class="box_tit"> <a href="" class="close">x</a> <H3>登录账号</H3> </p> <p class="box_con"> <form action="login.php" method="post"> <p> <select name="usertype"> <option value="普通用户">普通用户</option> <option value="管理员">管理员</option> </select> </p> <p> 用户名:<input type="text" name="name" size="11"/><br/> </p> <p> 密 码 :<input type="password" name="password" size="11"/><br/> </p> <p class="log"> <input type="submit" name="login" value="登录"> </p> <span> <a href="#" id="ljzc">立即注册</a> </span> </form> </p> </p> <p class="box_zc"> <p class="box_tit"> <a href="" class="close">x</a> <H3>注册账号</H3> </p> <p class="box_con"> <form action="adduser.php" method="post"> <p> 用户名:<input type="text" name="name" size="11"/><br/> </p> <p> 密 码 :<input type="password" name="password" size="11"/><br/> </p> <p> 确认密码:<input type="password" name="repassword" size="11"/><br/> </p> <p class="zc"> <input type="submit" name="zhuce" value="注册"> </p> <span> <a href="#" id="ljdl">立即登录</a> </span> </form> </p> </p>
(5)管理员后台新闻发布模块
新闻发布模块对于新闻发布系统来说是最主要的一个模块。本系统的新闻发布系统模块中发布的信息包括了新闻作者,新闻标题,新闻图片,新闻内容,新闻来源,新闻发布的时间以及用户点击次数等。管理员用户可以通过后台的新闻发布页面填写相关的内容,然后点击发布新闻,即可将自己的新闻发布出去。新闻发布的过程简单易行,新闻由管理员在后台直接发布,无需验证和批准直接可以在新闻发布系统的主页面上显示最新的新闻内容。
核心代码:
<?php include_once("functions/database.php"); get_connection(); $result_set = mysql_query("select * from category"); close_connection(); while($row = mysql_fetch_array($result_set)){ ?> <option value="<?php echo $row['category_id'];?>"><?php echo $row['name'];?></option> <?php } ?>
(6)管理员后台新闻管理模块
管理员将新闻发布以后,难免有出错或者需要修改的时候。因此在设计后台的时候针对此需要,我们设计了管理员后台新闻管理模块。管理模块是对已经发布出去的新闻进行修改编辑或者删除。同时也是新闻发布系统管理新闻的最基本的功能。 此权限也只能是管理员才可以对此进行操作,对于游客身份的用户和已经登录的会员用户则均不可以对此进行操作。
核心代码:
<?php include_once("functions/database.php"); $news_id = $_GET["news_id"]; get_connection(); $result_news = mysql_query("select * from news where news_id=$news_id"); $result_category = mysql_query("select * from category"); close_connection(); $news = mysql_fetch_array($result_news); ?>
(7)管理员后台新闻类别添加模块
为了满足用户对新闻的分类浏览,我们设计了新闻的分类浏览功能。因此,在后台的管理中我们首先要建立管理员后台新闻类别添加的模块。管理员要发布的新闻是有一定的分类的。首先管理员要添加自己所要发布新闻的新闻分类,以便在以后发布新闻的时候可以根据已经添加的新闻分类,自然地将需要发布的新闻进行分类。同时网页中的新闻分类里也显示已发布的新闻。这样用户在针对哪一类的新闻进行浏览时,可以在第一时间看到最新的新闻。 如果网站需要宽展发布一些新类型的新闻,就可以动态的控制不同种类的新闻,可以做到新闻种类无限扩展。因此,此模块可以大大的增加动态网站的动态性,避免过的冗余操作。为管理员减少工作量,方便维护整个庞大的网站。
核心代码:
<?php include_once("functions/database.php"); $category = $_POST["category"]; //$content = htmlspecialchars(addslashes($_POST["content"])); $sql = "insert into category values(null,'$category')"; get_connection(); mysql_query($sql); close_connection(); echo "该类别成功添加到数据库表中!"; ?>
(8)管理员后台新闻类别管理模块
为了满足用户对新闻的分类浏览,我们设计了无限新闻类型添加的功能。与此同时,新闻的分类管理也是必不可少的一项模块。我们针对已经添加过的新闻进行修改或者直接删除,保证管理员可以对新闻分类进行任意操作。动态的控制整个新闻发布系统的新闻分类功能。同时也满足了不同用户对不同类型的新闻浏览的要求。使得这个新闻发布系统更有实用性,更人性化的管理。
核心代码:
<?php include_once("functions/database.php"); $category_id = $_POST["category_id"]; $name = $_POST["category_name"]; $sql = "update category set name='$name' where category_id=$category_id"; get_connection(); mysql_query($sql); close_connection(); echo "新闻类别修改成功!"; ?>
(9)管理员后台评论审核模块
使管理员审核评论,防止存在非法或者违规的评论存在。
核心代码:
<?php include_once("functions/database.php"); $review_id = $_GET["review_id"]; $sql = "update review set state='已审核' where review_id=$review_id"; get_connection(); mysql_query($sql); close_connection(); header("Location:review_list.php"); ?>
推荐学习:《PHP视频教程》
위 내용은 PHP를 사용하여 뉴스 관리 시스템을 만들고 두뇌를 사용하여 배워보세요! ! ! (프론트오피스, 백오피스 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!