国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Zend Framework實(shí)現(xiàn)具有基本功能的留言本(附demo源碼下載),zenddemo
您可能感興趣的文章:
首頁 後端開發(fā) php教程 Zend Framework實(shí)現(xiàn)具有基本功能的留言本(附demo源碼下載),zenddemo_PHP教程

Zend Framework實(shí)現(xiàn)具有基本功能的留言本(附demo源碼下載),zenddemo_PHP教程

Jul 12, 2016 am 08:56 AM
framework htaccess zend

Zend Framework實(shí)現(xiàn)具有基本功能的留言本(附demo源碼下載),zenddemo

本文實(shí)例講述了Zend Framework實(shí)現(xiàn)具有基本功能的留言本。分享給大家供大家參考,具體如下:

一個(gè)留言本...具有的基本功能就是.1.發(fā)表留言. 2.回復(fù)留言.3.管理留言(修改,刪除等操作).

我這里只是寫了基本的操作,比如加留言驗(yàn)證碼.頁面的美化什么的我都
沒有做.我只是給大家一個(gè)思想..很多東西要靠我們自己去學(xué)了.

另一個(gè)就是我的留言用了AJAX.就是你一發(fā)表.數(shù)據(jù)就會(huì)在頁面顯示..不過大家要了解Jquery的AJAX的用法..我相信大部分人都會(huì)這個(gè)JS類庫吧.

要是不懂也沒關(guān)系..你們可以改成不是AJAX的..只要把發(fā)表留言的FROM的提交動(dòng)作轉(zhuǎn)換成我們控制里的一個(gè)動(dòng)作..相信這個(gè)不是問題.好了..開始工作:

我們的目錄結(jié)構(gòu)和以前一樣,大致不變..下面要有改動(dòng)的..大家也不要急..我會(huì)教大家如何做:

第一:先建立好我們的模板頁面(View)..

按照上篇教程的目錄.application/views/scripts目錄下有一些模板頁.如(index.phtml,edit.phtml).我們刪除它們..現(xiàn)在加一個(gè)message文件夾.

在message里加上(edit.phtml,index.phtml,message.phtml)三個(gè)模板文件.完成后.我們?cè)赼pplication/views/scripts/目錄下加上(header.phtml,footer.phtml)二個(gè)模板文件.

因?yàn)檫@二個(gè)文件以后會(huì)重用來..所以把他們直接放到application/views/scripts/下..好了模板建立好了.現(xiàn)在就是加入一個(gè)HTML.JS.IMAGE了.我把他們這些都放在網(wǎng)站根目錄public文件夾下.大家可以對(duì)應(yīng)我的源碼來看一下..要是有點(diǎn)亂..請(qǐng)大家根據(jù)源碼來看這教程..(^_^不好意思,我只能這樣表達(dá).我也不知道如何寫才能讓你們更了解.請(qǐng)大家體諒啊!)

第二:接下來,我們寫我們的數(shù)據(jù)層程序(Model).

1.我們?cè)谠瓉淼谋碇屑由舷旅鎺讉€(gè)字段:pid(標(biāo)志是否是回復(fù),0為留言.為為0的是為回復(fù)) ,author(留言者),headimg(留言者頭像),email(留言者電子郵件), ip(留言者IP地址),
show(留言是否顯示.這個(gè)要在生臺(tái)管理能用.這教程這里沒有用到.), addtime(留言時(shí)間), updatetime(留言修改時(shí)間).字段類型的設(shè)置請(qǐng)大家看源碼SQL文件.

2.我們?cè)赼pplication/models/目錄下有一個(gè)Message.php.我們先寫好我們留言本的Model .主要是對(duì)留言本數(shù)據(jù)層的操作.我增加了下面幾個(gè)方法:
getAllMessage(取到所有的留言) , getAllReMessage(取到所有的回復(fù)留言數(shù)據(jù)) , getMessageByID(根據(jù)ID取留言數(shù)據(jù)), updateMessageByID(修改留言), delMessageByID(刪除留言)

具體程序如下(程序上面也有注解):

class Message extends Zend_Db_Table
{
 protected $_name ="message";
 protected $_primary = 'id';
 /* * 取到所有的留言 */
 public function getAllMessage(){
 $messageArray=$this->fetchAll("message.pid=0",
      "message.id DESC")->toArray();
 return $messageArray;
 }
 /* * 取到所有的回復(fù)留言數(shù)據(jù) */
 public function getAllReMessage(){
 $ReArray=$this->fetchAll("message.pid!=0",
      "message.id DESC")->toArray();
 return $ReArray;
 }
 /* * 根據(jù)ID取留言數(shù)據(jù) */
 public function getMessageByID($id){
 $messageone=$this->fetchAll('id='.$id)->toArray();
 return $messageone;
 }
 /* * 修改留言 */
 public function updateMessageByID($array,$id){
 $db = $this->getAdapter();
 $where=$db->quoteInto('id = ?', $id);
 $this->update($array, $where);
 }
 /* * 刪除留言 */
 public function delMessageByID($id){
 $where = 'id = ' . $id;
   $this->delete($where);
   return true;
 }
}

第三:完成上面二項(xiàng).最后就我們的控制層了(Controller).打開application/controllers/IndexController.php這個(gè)控制器..把原來的不要的東西給刪除了.我在上面加上了下面

一個(gè)message方法(也叫動(dòng)作Action).不過其它的Action都有改動(dòng)..請(qǐng)大家參與源碼來進(jìn)行分析.這里我只貼也我新加入的messageAction這個(gè)方法(代碼上都有注解.請(qǐng)自行查看.謝謝):

public function messageAction()
{
 if($this->_request->isPost()){
 Zend_Loader::loadClass('Zend_Filter_StripTags');
 $filter=new Zend_Filter_StripTags();
 $username=$filter->filter($this->_request->getPost('username'));
 $email=$filter->filter($this->_request->getPost('email'));
 $content=$filter->filter($this->_request->getPost('content'));
 $title=$filter->filter($this->_request->getPost('title'));
 $messageid=$filter->filter($this->_request->getPost('messageid'));
 $headimg=$filter->filter($this->_request->getPost('headimg'));
 $message=new Message();
 $db=$message->getAdapter();
 if($username!=''&&$email!=''&&$messageid!=''&&$content!=''){
 require_once 'Zend/Validate/EmailAddress.php';
 $validator = new Zend_Validate_EmailAddress();
 if ($validator->isValid($email)) {
 //取IP地址..這里只是簡(jiǎn)單取IP
 $IP=$_SERVER ["REMOTE_ADDR"];
 $data=array(
 'title'=>$title,
 'author'=>$username,
  'pid'=>$messageid,
 'headimg'=>$headimg,
 'email'=>$email,
 'show'=>'1',
 'content'=>$content,
  'ip'=>$IP,
 'addtime'=>time(),
 'updatetime'=>time()
 );
 $message->insert($data);
 $db->lastInsertId();
 unset($data);
  //取到所有留言getAllMessage,getAllReMessage
  //二個(gè)方法在Model(Message.php)里定義的
  $this->view->messages=$message->getAllMessage();
 //取到所有回復(fù)數(shù)據(jù)
 $this->view->arrReviews=$message->getAllReMessage();
 $this->view->flag='0';
 $this->view->message='您的留言發(fā)表成功!';
 echo $this->view->render('message/message.phtml');
 } else {
 $this->view->flag='5';
 $this->view->message='對(duì)不起!您填寫有電子郵箱地址有誤!';
 echo $this->view->render('message/message.phtml');
 }
  }elseif($username==''){
  $this->view->flag='1';
 $this->view->message='對(duì)不起!您的大名不能為空!';
  echo $this->view->render('message/message.phtml');
 }elseif($messageid==''){
  $this->view->flag='2';
 $this->view->message='對(duì)不起!回復(fù)留言編號(hào)不能為空!';
  echo $this->view->render('message/message.phtml');
 }elseif($content==''){
  $this->view->flag='3';
 $this->view->message='對(duì)不起!您填寫的留言內(nèi)容不能為空!';
  echo $this->view->render('message/message.phtml');
  }
  }else{
  echo $this->view->render('message/index.phtml');
  }
}

只是沒有驗(yàn)證碼以及分頁功能..后面一篇會(huì)有教程進(jìn)一步講解.

總結(jié):到這里就完成了一個(gè)留言本的編寫.當(dāng)然很簡(jiǎn)單的功能..還是那句話.我只是把我會(huì)的寫給大家..只是一個(gè)思想..我也只會(huì)這些..所以寫的好與不好..請(qǐng)大家自己進(jìn)行權(quán)衡

完整實(shí)例代碼點(diǎn)擊此處本站下載。

更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:

  • Zend Framework框架教程之Zend_Db_Table_Rowset用法實(shí)例分析
  • Zend Framework教程之Zend_Db_Table_Row用法實(shí)例分析
  • Zend Framework教程之Zend_Db_Table用法詳解
  • Zend Framework教程之Zend_Form組件實(shí)現(xiàn)表單提交并顯示錯(cuò)誤提示的方法
  • Zend Framework開發(fā)入門經(jīng)典教程
  • Zend Framework框架Smarty擴(kuò)展實(shí)現(xiàn)方法
  • Zend Framework框架路由機(jī)制代碼分析
  • Zend Framework實(shí)現(xiàn)將session存儲(chǔ)在memcache中的方法
  • Zend Framework分頁類用法詳解
  • Zend Framework實(shí)現(xiàn)多文件上傳功能實(shí)例
  • Zend Framework入門之環(huán)境配置及第一個(gè)Hello World示例(附demo源碼下載)
  • Zend Framework教程之連接數(shù)據(jù)庫并執(zhí)行增刪查的方法(附demo源碼下載)
  • Zend Framework教程之Zend_Db_Table表關(guān)聯(lián)實(shí)例詳解

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1113722.htmlTechArticleZend Framework實(shí)現(xiàn)具有基本功能的留言本(附demo源碼下載),zenddemo 本文實(shí)例講述了Zend Framework實(shí)現(xiàn)具有基本功能的留言本。分享給大家供大家參...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1501
276
如何在 Windows 11/10 上使用 SetupDiag 識(shí)別 Windows 升級(jí)問題 如何在 Windows 11/10 上使用 SetupDiag 識(shí)別 Windows 升級(jí)問題 Apr 17, 2023 am 10:07 AM

每當(dāng)您的Windows11或Windows10PC出現(xiàn)升級(jí)或更新問題時(shí),您通常會(huì)看到一個(gè)錯(cuò)誤代碼,指示故障背後的實(shí)際原因。但是,有時(shí),升級(jí)或更新失敗可能不會(huì)顯示錯(cuò)誤代碼,這時(shí)就會(huì)混淆。有了方便的錯(cuò)誤代碼,您可以確切地知道問題出在哪裡,因此您可以嘗試修復(fù)。但是由於沒有出現(xiàn)錯(cuò)誤代碼,因此識(shí)別問題並解決它變得極具挑戰(zhàn)性。這會(huì)佔(zhàn)用您大量時(shí)間來簡(jiǎn)單地找出錯(cuò)誤背後的原因。在這種情況下,您可以嘗試使用Microsoft提供的名為SetupDiag的專用工具,該工具可協(xié)助您輕鬆識(shí)別錯(cuò)誤背後的真

Microsoft NET Framework 安裝問題 錯(cuò)誤代碼 0x800c0006 修復(fù) Microsoft NET Framework 安裝問題 錯(cuò)誤代碼 0x800c0006 修復(fù) May 05, 2023 pm 04:01 PM

.NETFramework4是開發(fā)人員和最終使用者在Windows上執(zhí)行最新版本的應(yīng)用程式所必需的。但是,在下載安裝.NETFramework4時(shí),許多用戶抱怨安裝程式在中途停止,顯示以下錯(cuò)誤訊息-「?.NETFramework4hasnotbeeninstalledbecauseDownloadfailedwitherrorcode0x800c0006?」。在您的裝置上安裝.NETFramework4時(shí),如果您也在體驗(yàn)它,那麼您就來對(duì)了地方

SCNotification 已停止運(yùn)作 [修復(fù)它的 5 個(gè)步驟] SCNotification 已停止運(yùn)作 [修復(fù)它的 5 個(gè)步驟] May 17, 2023 pm 09:35 PM

身為Windows用戶,您很可能會(huì)在每次啟動(dòng)電腦時(shí)遇到SCNotification已停止工作錯(cuò)誤。 SCNotification.exe是一個(gè)微軟系統(tǒng)通知文件,由於權(quán)限錯(cuò)誤和點(diǎn)網(wǎng)故障等原因,每次啟動(dòng)PC時(shí)都會(huì)崩潰。此錯(cuò)誤也以其問題事件名稱而聞名。因此,您可能不會(huì)將其視為SCNotification已停止工作,而是將其視為錯(cuò)誤clr20r3。在本文中,我們將探討您需要採取的所有步驟來修復(fù)SCNotification已停止運(yùn)作,以免它再次困擾您。什麼是SCNotification.e

PHP實(shí)作框架:Zend Framework入門教程 PHP實(shí)作框架:Zend Framework入門教程 Jun 19, 2023 am 08:09 AM

PHP實(shí)作框架:ZendFramework入門教學(xué)ZendFramework是PHP開發(fā)的開源網(wǎng)站框架,目前由ZendTechnologies維護(hù),ZendFramework採用了MVC設(shè)計(jì)模式,提供了一系列可重複使用的程式碼庫,服務(wù)於實(shí)作Web2.0應(yīng)用程式和Web服務(wù)。 ZendFramework深受PHP開發(fā)者的歡迎與推崇,擁有廣泛

Microsoft .NET Framework 4.5.2、4.6 和 4.6.1 將於 2022 年 4 月終止支持 Microsoft .NET Framework 4.5.2、4.6 和 4.6.1 將於 2022 年 4 月終止支持 Apr 17, 2023 pm 02:25 PM

已安裝Microsoft.NET版本4.5.2、4.6或4.6.1的MicrosoftWindows用戶如果希望Microsoft將來透過產(chǎn)品更新支援該框架,則必須安裝較新版本的Microsoft框架。據(jù)微軟稱,這三個(gè)框架都將在2022年4月26日停止支援。支援日期結(jié)束後,產(chǎn)品將不會(huì)收到「安全修復(fù)或技術(shù)支援」。大多數(shù)家庭設(shè)備透過Windows更新保持最新。這些設(shè)備已經(jīng)安裝了較新版本的框架,例如.NETFramework4.8。未自動(dòng)更新的設(shè)備可能

如何在Zend框架中使用ACL(Access Control List)進(jìn)行權(quán)限控制 如何在Zend框架中使用ACL(Access Control List)進(jìn)行權(quán)限控制 Jul 29, 2023 am 09:24 AM

如何在Zend框架中使用ACL(AccessControlList)進(jìn)行權(quán)限控制導(dǎo)言:在一個(gè)Web應(yīng)用程式中,權(quán)限控制是至關(guān)重要的功能。它可以確保使用者只能存取其有權(quán)存取的頁面和功能,並防止未經(jīng)授權(quán)的存取。 Zend框架提供了一種方便的方法來實(shí)現(xiàn)權(quán)限控制,即使用ACL(AccessControlList)元件。本文將介紹如何在Zend框架中使用ACL

適用於 Windows 11 的KB5012643破壞了.NET Framework 3.5應(yīng)用程式 適用於 Windows 11 的KB5012643破壞了.NET Framework 3.5應(yīng)用程式 May 09, 2023 pm 01:07 PM

自從我們談?wù)撚绊懓惭bKB5012643forWindows11的用戶的新安全模式錯(cuò)誤以來已經(jīng)過去了一周。這個(gè)討厭的問題並沒有出現(xiàn)在微軟在發(fā)布當(dāng)天發(fā)布的已知問題清單中,因此讓所有人都感到驚訝。好吧,就在您認(rèn)為情況不會(huì)變得更糟的時(shí)候,微軟為安裝此累積更新的用戶投下了另一顆炸彈。 Windows11Build22000.652導(dǎo)致更多問題因此,這家科技公司警告Windows11用戶,他們?cè)趩?dòng)和使用某些.NETFramework3.5應(yīng)用程式時(shí)可能會(huì)遇到問題。聽起來很熟悉?不過請(qǐng)不要驚

如何修復(fù) Windows 11 上的 0xc0000135 錯(cuò)誤(解決 KB5013943 更新問題) 如何修復(fù) Windows 11 上的 0xc0000135 錯(cuò)誤(解決 KB5013943 更新問題) May 11, 2023 am 08:28 AM

什麼是0xc0000135錯(cuò)誤,我為什麼會(huì)得到它?根據(jù)Microsoft官方文檔,0xc0000135錯(cuò)誤代碼與.NetFramework問題有關(guān)。似乎許多需要.NetFramework3.5才能工作的應(yīng)用程式無法與最新的Windows11更新一起使用。這就是導(dǎo)致0xc0000135錯(cuò)誤代碼的原因,您可以透過在PC上啟用.NetFramework3.5來解決此問題。大多數(shù)現(xiàn)代應(yīng)用程式都依賴.NetFramework.dll檔案在後臺(tái)按預(yù)期運(yùn)行。但是

See all articles