本文实例讲述了PHP实现简单的新闻发布系统。分享给大家供大家参考。具体如下:
本人小白,一直在公司用模板和框架写PHP,发现有时候连基本的sql语句都忘记了,所以有空想把PHP基础复习下,巩固下。分页和搜索,以及排序,还没写,后期继续更新...(代码修改:添加搜索和分页功能)
articlePublish.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> </head> <body bgcolor="#ccc"> <form name="article" method="post" action="articlePublishDo.php" style="margin:5px 500px;"> <h1 id="发布新闻系统">发布新闻系统</h1> 标题:<input type="text" name="title"/><br/> 内容:<textarea cols=30 rows=5 name="content"></textarea><br/><br/> <input type="submit" value="发布新闻"/> </form> </body> </html>
articlePublishDo.php:
<?php header("content-type:text/html;charset=utf8"); date_default_timezone_set('Asia/Shanghai'); $title=trim($_POST['title']); $content=trim($_POST['content']); $time=date("y-m-d H:i:s"); require_once 'init.php'; $sql="insert into article(title,content,create_time) values('$title','$content','$time')"; //echo $sql; $re=mysql_query($sql);//执行sql语句 if($re){ echo "发布成功"; echo '<a href="articleList.php">返回文章列表</a>'; }else{ echo "发布失败"; echo '<a href="articleList.php">返回文章列表</a>'; } mysql_close();//关闭数据库
articleList.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> </head> <body> <!-- 搜索框 --> <form method="get" action="articleList.php" style="margin:10px 400px;"> <input type="text" name="search"/> <input type="submit" value="搜索"/> </form> <br/> <table cellspacing="0" cellpadding="0" align="center" bgcolor="#ccc" width=500 > <a href="articlePublish.html" style="padding:20px 30px">返回发布文章</a> <tr> <th>编号</th> <th>文章标题</th> <th>文章内容</th> <th>编辑文章</th> </tr> <?php require_once 'init.php'; /** * 搜索 */ $keyword=$_GET['search']; /*分页*/ $sql="select count(*) from article where title like '%$keyword%' or content like '%$keyword%'"; $res=mysql_query($sql); //$count= (int)mysql_num_rows($result); $arr=mysql_fetch_assoc($res); while(list($key,$val)=each($arr)){ $count = (int)$val; } //echo $count; $pageSize=4; $page=floor($count/$pageSize)+1;//总页数$page echo $page; //echo $page; if(isset($_GET['page'])) { //$currentPage = $_GET['page']; if($_GET['page'] <=1){ $currentPage = 1; }elseif ($_GET['page'] >= $page){ $currentPage = $page-1; }else{ $currentPage = $_GET['page']; } }else { $currentPage=1; } $start = ($currentPage-1)*$pageSize; $sql="select id,title,content from article where title like '%$keyword%' or content like '%$keyword%' limit $start,$pageSize"; //echo $sql; $re=mysql_query($sql);//执行sql语句 while($arr=mysql_fetch_assoc($re)){ ?> <tr> <td align="center" style="border:1px solid #000"><?php echo $arr['id'];?></td> <input type="hidden" name="id" value="<?php echo $arr['id'];?>"/> <td align="center" style="border:1px solid #000"><?php echo $arr['title'];?></td> <td align="center" style="border:1px solid #000"><?php echo $arr['content'];?></td> <td align="center" style="border:1px solid #000"> <a href="articleEdit.php?id=<?php echo $arr['id']?>"><font color="red">修改</font></a> <a href="articleDelete.php?id=<?php echo $arr['id']?>"><font color="red">删除</font></a> </td> </tr> <?php } mysql_close();//关闭数据库 ?> </table> <div style="margin:20px 400px;"> 共<?php echo $page?>页 |查到<?php echo $count;?>条记录 当前第<?php echo $_GET['page']?>页| <a href="articleList.php?page=1&search=<?php echo $keyword?>">首页</a> <a href="articleList.php?page=<?php echo ($currentPage-1)?>&search=<?php echo $keyword?>">|上一页</a> <a href="articleList.php?page=<?php echo ($currentPage+1)?>&search=<?php echo $keyword?>">|下一页</a> <a href="articleList.php?page=<?php echo $page?>&search=<?php echo $keyword?>">|末页</a> </div> </body> </html>
articleEdit.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> </head> <body bgcolor="#ccc"> <?php $id=(int)$_GET['id']; require_once 'init.php'; $sql="select id,title,content from article where id = '$id'"; //echo $sql; $re=mysql_query($sql);//执行sql语句 $arr=mysql_fetch_assoc($re); //var_dump($arr); mysql_close();//关闭数据库 ?> <form name="article" method="post" action="articleUpdate.php" style="margin:5px 500px;"> <h1 id="文章发布系统">文章发布系统</h1> <input type="hidden" name="id" value="<?php echo $arr['id']?>"/><br/> 标题:<input type="text" name="title" value="<?php echo $arr['title']?>"/><br/> 内容:<textarea cols=30 rows=5 name="content"><?php echo $arr['content']?></textarea><br/><br/> <input type="submit" value="修改文章"/> <a href="articleList.php">返回文章列表</a> <a href="articlePublish.html">返回发布文章</a> </form> </body> </html>
articleUpdate.php:
<?php header("content-type:text/html;charset=utf8"); $arr=$_POST; $id=(int)$arr['id']; require_once 'init.php'; $sql="update article set title = '$arr[title]',content = '$arr[content]' where id = '$id'"; //echo $sql; $re=mysql_query($sql);//执行sql语句 //echo $re; if($re){ echo "修改成功"; echo "<a href='articleList.php'>返回文章列表</a>"; }else{ echo "修改失败"; echo "<a href='articleList.php'>返回文章列表</a>"; } mysql_close();//关闭数据库
articleDelete.php:
<?php header("content-type:text/html;charset=utf8"); require_once 'init.php'; $id=(int)$_GET['id']; $sql="delete from article where id = '$id'"; //echo $sql; $re=mysql_query($sql); if($re){ echo "删除成功"; echo "<a href='articleList.php'>返回文章列表</a>"; }else{ echo "删除失败"; echo "<a href='articleList.php'>返回文章列表</a>"; }
init.php:
<?php //连接数据库 //五步走 //往数据库添加文章 $conn=mysql_connect("localhost","root","");//链接数据库 //echo $conn; $re=mysql_select_db("article");//选择数据库 mysql_query("set names utf8");//设置交互字符集
基础知识总结:
文章发布系统
1.articlePublish.html 发布文章页面 提交到articlePublishDo.php页面,执行写入数据库
2.articleList.php 文章列表页面
3.点击编辑,修改文章 提交到 aiticleEdit.php 表单页面(回显)
4.点击修改文章按钮 提交到 articleUpdate.php
希望本文所述对大家的php程序设计有所帮助。

DependencyInjection(DI)inPHPenhancescodeflexibilityandtestabilitybydecouplingdependencycreationfromusage.ToimplementDIeffectively:1)UseDIcontainersjudiciouslytoavoidover-engineering.2)Avoidconstructoroverloadbylimitingdependenciestothreeorfour.3)Adhe

到Improveyourphpwebsite的實力,UsEthestertate:1)emplastOpCodeCachingWithOpcachetCachetOspeedUpScriptInterpretation.2)優化的atabasequesquesquesquelies berselectingOnlynlynnellynnessaryfields.3)usecachingsystemssslikeremememememcachedisemcachedtoredtoredtoredsatabaseloadch.4)

是的,ItispossibletosendMassemailswithp.1)uselibrarieslikeLikePhpMailerorSwiftMailerForeffitedEmailsending.2)enasledeLaysBetenemailstoavoidSpamflagssspamflags.3))

DependencyInjection(DI)inPHPisadesignpatternthatachievesInversionofControl(IoC)byallowingdependenciestobeinjectedintoclasses,enhancingmodularity,testability,andflexibility.DIdecouplesclassesfromspecificimplementations,makingcodemoremanageableandadapt

使用PHP發送電子郵件的最佳方法包括:1.使用PHP的mail()函數進行基本發送;2.使用PHPMailer庫發送更複雜的HTML郵件;3.使用SendGrid等事務性郵件服務提高可靠性和分析能力。通過這些方法,可以確保郵件不僅到達收件箱,還能吸引收件人。

計算PHP多維數組的元素總數可以使用遞歸或迭代方法。 1.遞歸方法通過遍歷數組並遞歸處理嵌套數組來計數。 2.迭代方法使用棧來模擬遞歸,避免深度問題。 3.array_walk_recursive函數也能實現,但需手動計數。

在PHP中,do-while循環的特點是保證循環體至少執行一次,然後再根據條件決定是否繼續循環。 1)它在條件檢查之前執行循環體,適合需要確保操作至少執行一次的場景,如用戶輸入驗證和菜單系統。 2)然而,do-while循環的語法可能導致新手困惑,且可能增加不必要的性能開銷。

在PHP中高效地哈希字符串可以使用以下方法:1.使用md5函數進行快速哈希,但不適合密碼存儲。 2.使用sha256函數提高安全性。 3.使用password_hash函數處理密碼,提供最高安全性和便捷性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版
中文版,非常好用

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)