코드에서 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 id="登录账号">登录账号</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 id="注册账号">注册账号</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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

phpsession 실패 이유에는 구성 오류, 쿠키 문제 및 세션 만료가 포함됩니다. 1. 구성 오류 : 올바른 세션을 확인하고 설정합니다. 2. 쿠키 문제 : 쿠키가 올바르게 설정되어 있는지 확인하십시오. 3. 세션 만료 : 세션 시간을 연장하기 위해 세션을 조정합니다 .GC_MAXLIFETIME 값을 조정하십시오.

PHP에서 세션 문제를 디버그하는 방법 : 1. 세션이 올바르게 시작되었는지 확인하십시오. 2. 세션 ID의 전달을 확인하십시오. 3. 세션 데이터의 저장 및 읽기를 확인하십시오. 4. 서버 구성을 확인하십시오. 세션 ID 및 데이터를 출력, 세션 파일 컨텐츠보기 등을 통해 세션 관련 문제를 효과적으로 진단하고 해결할 수 있습니다.

Session_Start ()로 여러 통화를하면 경고 메시지와 가능한 데이터 덮어 쓰기가 발생합니다. 1) PHP는 세션이 시작되었다는 경고를 발행합니다. 2) 세션 데이터의 예상치 못한 덮어 쓰기를 유발할 수 있습니다. 3) Session_status ()를 사용하여 반복 통화를 피하기 위해 세션 상태를 확인하십시오.

SESSION.GC_MAXLIFETIME 및 SESSION.COOKIE_LIFETIME을 설정하여 PHP에서 세션 수명을 구성 할 수 있습니다. 1) SESSION.GC_MAXLIFETIME 서버 측 세션 데이터의 생존 시간을 제어합니다. 2) 세션 .Cookie_Lifetime 클라이언트 쿠키의 수명주기를 제어합니다. 0으로 설정하면 브라우저가 닫히면 쿠키가 만료됩니다.

데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
