Wissen Sie, wie man ein Pressemitteilungssystem basierend auf PHP im Code schreibt? Vermutlich werden Sie von vielen College-Studenten in ihren Abschlussprüfungen gebeten, PHP zur Entwicklung einiger Systeme zu verwenden, also beeilen Sie sich und lernen Sie es! ! !
II Anforderungsanalyse
1. News Release System (News Release System oder Content Management System) wird auch Content Management System (CMS) genannt ) ,
ist ein netzwerkbasiertes Nachrichtenveröffentlichungs- und ManagementsystemEs ist ein System, das auf dem B/S-Modus basiert. Dieses System kann fast alle Funktionen der Nachrichtenveröffentlichung ausführen. Durch den Einsatz von Online-Nachrichtenveröffentlichungssystemen ist das Internet ein wichtigeres Nachrichtenmedium als Fernsehzeitungen. Unser Entwurf dieses Systems ist die Voraussetzung für die Realisierung der Funktionen dieses Systems. Die erste besteht darin, eine Veröffentlichungsfunktion und ein Nachrichtenklassifizierungsmanagement bereitzustellen. Zweitens wird die Benutzerinteraktion implementiert und Benutzer können sich an Kommentaren zu den Nachrichten beteiligen. Schließlich muss eine umfassende Verwaltung dieser Pressemitteilung erreicht werden, um die Verwaltung der Administratoren zu erleichtern.
Um diese riesige Funktion zu realisieren, teilen wir zunächst die Benutzerberechtigungen auf. Verschiedene Benutzer haben unterschiedliche Berechtigungen. Besucher (die nicht angemeldet sind) gelangen auf die Hauptseite des Pressemitteilungssystems und können alle relevanten Nachrichten durchsuchen und die Kommentare anderer Personen ansehen. Es gibt jedoch keine besonderen Privilegien. Registrierte Zuschauer (Benutzer) haben nicht nur alle Funktionen von Gastzuschauern, sondern können auch bestimmte Nachrichten kommentieren. Schließlich gibt es noch den Administrator, der über die höchste Autorität verfügt und alle Nachrichten und Nachrichtenkategorien verwalten kann. Es können neue Nachrichtenkategorien hinzugefügt und geändert werden, und es können auch neue Nachrichteninhalte hinzugefügt und geändert werden.2. Softwareschnittstelle
Entsprechend den Grundfunktionen, die das Pressemitteilungssystem haben sollte, und den Anforderungen des Benutzers an das Pressemitteilungssystem unterteilen wir dieses Pressemitteilungssystem in Funktionsmodule, um die Implementierung jeder Funktion zu erleichtern. Gleichzeitig ist die Bedienung für den Benutzer sehr komfortabel und intuitiv. Daher haben wir nach unserer wiederholten Analyse und Gestaltung dieses Pressemitteilungssystem in 9 Funktionsmodule unterteilt. Die detaillierten Funktionsmodulnamen lauten wie folgt:(
1) Nachrichtenklassifizierungs-Browsing-Modul(2) Nachrichtenabrufmodul
(3) Nachrichtenkommentarmodul nach Benutzeranmeldung
(4) Benutzeranmeldung Mit dem Registrierungsmodul(5) Administrator-Backend-Nachrichtenveröffentlichungsmodul
(6) Administrator-Backend-Nachrichtenverwaltungsmodul (7) Administrator-Backend-Nachrichtenkategorie-Hinzufügungsmodul (8) Administrator-Backend-Nachrichtenkategorie-Verwaltungsmodul
(
9) Administrator-Backend-Kommentarüberprüfungsmodul3.Softwaredesign
1.Datenbankdesign
Datenbankdesign ist der Kern des Datenbankdesigns in der CMS-Abteilung. Das Datenbankdesign bestimmt direkt den Funktionsprozess des CMS-Systems und die Effizienz des Betriebssystems. Daher erfordert das Design der Datenbank sorgfältige Überlegungen. Berücksichtigen Sie unbedingt alle Funktionen des Pressemitteilungssystems.
Die Datenbank ist mit den folgenden Datenelementen ausgestattet:(1) Nachrichtenkategorie: Kategorie
ID, Kategoriename.(2) Benutzerinformationen: Benutzer
ID, Benutzername, Login-Passwort.(3) Administratorinformationen: AdministratorID, Benutzername, Login-Passwort, Beruf. (Administratoren können nur durch Bearbeiten der Datenbank hinzugefügt werden)
(4) Pressemitteilung: News ID, veröffentlichte Administrator-ID,
Kategorie-ID, Titel,Bild-URL, Inhalt, Veröffentlichungszeit, Anzahl der Klicks , AnhangURL. (5) Kommentarinformationen: Kommentar-ID, Benutzer-ID, Nachrichten-ID, Kommentarinhalt, Kommentarzeit, Rezensionsstatus, Herausgeber-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)
);
Software-Design
Das Pressemitteilungssystem ist in zwei Teile unterteilt: die Rezeption und die hintere Rezeption.Für Front-End-Betreiber: Die Front-End-Seite des CMS-Systems ist der Teil, den sie sehen können. Daher muss die Front-End-Bedienung so intuitiv und bequem wie möglich sein. Benutzer können ganz einfach verwandte Nachrichten durchsuchen, indem sie die Startseite öffnen. Sie können die Nachrichten direkt abfragen und die relevanten Nachrichten direkt durchsuchen. Gleichzeitig können Sie verschiedene Arten von Nachrichten nach verschiedenen Nachrichtenkategorien durchsuchen. Registrierte Benutzer können sich über die Login-Schnittstelle anmelden. Nachdem sich der Benutzer erfolgreich angemeldet hat, hat er das Recht zum Kommentieren. Wenn der Benutzer nach dem Durchsuchen einiger Nachrichten einen Kommentar zu den Nachrichten abgeben muss, muss er nur den entsprechenden Kommentarbereich der Nachrichten aufrufen, um den Inhalt hinzuzufügen, den er kommentieren möchte , und er kann erfolgreich hinzugefügt werden. Kehren Sie gleichzeitig zurück, um weiterhin die Kommentare anderer Personen zu durchsuchen.
Für die Backend-Verwaltung hat der Administrator nicht nur die Befugnis, alle Funktionen des Frontends zu bedienen, sondern kann auch eine umfassende Verwaltung der Website durchführen. Konkret kann der Administrator in der Nachrichtenverwaltung neue Nachrichtenkategorien festlegen und hinzufügen, sodass die Nachrichtenkategorien gleichzeitig geändert werden können und Nachrichten löschen. Sorgen Sie für die Dynamik der Website. Zweitens ist der Administrator für die umfassende Verwaltung von Nachrichtenartikeln verantwortlich, beispielsweise für die Überprüfung von Kommentaren usw. IV.Software-Implementierung
(1)Nachrichtenklassifikations-Browsing-Modul
Das Durchsuchen von Nachrichten ist die grundlegendste Berechtigung, die alle Benutzer haben. Um Benutzern das schnelle Durchsuchen von Nachrichten zu erleichtern, haben wir das Durchsuchen von Nachrichtenklassifizierungen entwickelt Funktion. Solange der Benutzer die Homepage des Nachrichtenveröffentlichungssystems aufruft und die Art von Nachrichten durchsuchen möchte, muss er nur auf den Namen der Nachrichtenkategorie auf der Startseite klicken, um alle Nachrichten der gewünschten Nachrichtenart anzuzeigen zum Stöbern. Und ordnen Sie alle Nachrichten in der Reihenfolge des Zeitpunkts der Veröffentlichung der Nachrichten. In der geöffneten Nachrichtenliste dieser Art von Nachrichten müssen Benutzer nur auf den entsprechenden Nachrichtentitel klicken, um schnell den detaillierten Inhalt dieser Nachrichten zu durchsuchen. Einschließlich des Titels der Nachrichten, des detaillierten Inhalts der Nachrichten, der Quelle der Nachrichten, der Veröffentlichungszeit der Nachrichten und der Anzahl der Klicks usw. Daher bietet es Komfort für Benutzer, die gerne darauf achten, welche Art von Nachrichten es gibt. Gleichzeitig fügt dieses Pressemitteilungssystem auch zwei Module zum Durchsuchen von Nachrichten hinzu. Eine besteht darin, die beliebtesten Nachrichten für Benutzer basierend auf der Anzahl der Klicks auf die Nachrichten aufzulisten. Das sind die Nachrichten mit der höchsten Klickzahl. Die andere besteht darin, die neuesten Nachrichten für Benutzer basierend auf dem Zeitpunkt aufzulisten, zu dem der Administrator die Nachrichten veröffentlicht hat.
Daher können die unterschiedlichen Bedürfnisse verschiedener Benutzer durch dieses 3-Block-News-Browsing-Funktionsmodul erfüllt werden.
Kerncode:
<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>
Modul zum Abrufen von Nachrichten
Um Benutzern das schnelle Durchsuchen der Nachrichten zu erleichtern, die sie durchsuchen möchten, entwickeln wir eine Funktion zum Abrufen von Nachrichten für dieses Pressemitteilungssystem. Nachrichtenabruf bedeutet, dass der Benutzer nur das Eingabefeld zum Nachrichtenabruf auf der Homepage des Pressemitteilungssystems finden, dann die Schlüsselwörter zum Abfragen von Nachrichten in das Abfrageeingabefeld eingeben und diese dann an die Datenbank senden muss. Die Datenbank gleicht die Daten ab und gibt dann den Nachrichteninhalt zurück, den der Benutzer abfragen möchte. Diese Abrufmethode ist bequemer. Solange die Nachrichten die vom Benutzer eingegebenen Schlüsselwörter enthalten, werden die passenden Nachrichten in einer Liste angezeigt. Daher können Benutzer die Nachrichten, die sie durchsuchen möchten, intuitiv durchsuchen, was den Benutzern Zeit spart und unnötige Suchvorgänge vermeidet.Kerncode:
$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>"; }
Modul für Benutzer zum Posten von Nachrichtenkommentaren nach dem Anmelden
Für Benutzer können sie sich anmelden und nach dem Anmelden die entsprechenden Nachrichten weiter durchsuchen. Die Der Unterschied besteht darin, dass Benutzer nach der Anmeldung bessere Benutzerrechte haben als normale Touristen. Angemeldete Benutzer können ihre eigenen Nachrichtenkommentare zu den Nachrichten posten, während sie den Nachrichteninhalt durchsuchen. Benutzer können im Kommentarfeld miteinander kommunizieren. Bilden Sie eine interaktive Plattform.Kerncode:
<?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']; ?>
Benutzeranmelde- und Registrierungsmodul
Benutzerberechtigungen einschränken, Benutzeranmeldemodul ist unerlässlich. Sie können sich normal anmelden, wenn Ihr Konto und Ihr Passwort korrekt sind. Normale Benutzer wählen die Benutzeranmeldung, während Administratoren die Administratoranmeldung wählen. Sie können sich auch als Benutzer registrieren.核心代码:
<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视频教程》
Das obige ist der detaillierte Inhalt vonVerwenden Sie PHP, um ein Nachrichtenverwaltungssystem zu erstellen. Nutzen Sie Ihr Gehirn, um es zu lernen! ! ! (Inklusive Front- und Backoffice). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!