在對php語法有一定了解之後開始,這是第乙個php練手專案,涵蓋的知識有
root
│ addmess.php
│ delmess.php
│ index.php
│ show.php
│
├─commom_view
│ head.html
│
├─common
│ lyfile.php
│
├─css
│ bootstrap.min.css
│
└─data
liuyan.txt
php相關求情直接放在根目錄下,commom_view存放檢視相同部分,引入了bs的樣式檔案存放在css中,資料txt檔案存放在data資料夾下,common資料夾下存放data的liuyan.txt資料夾讀取相關方法;
1. 首先編寫公共頭部包含標題,相關功能頁面鏈結,為了讓整體頁面好看一點引入了[bs3](然後在各個頁面通過```include (filepath)```的方式進行引入操作;
2. 對整體了解,lyfile需要實現的功能有:新增、刪除、展現,先寫介面方法additem、delitem、getall;
3. 編寫類lyfile實現介面中定義的三個方法(未真正編寫**)在需要引入的頁面同樣通過 include 的方式進行引入。
1. 首頁就是一張表單,用做相關資訊的提交;
1. 表單提交後跳轉到addmess頁面,做的主要是提交資訊的儲存以及,當前所提交資訊的展示;
2. 用到additem方法進行資料新增,具體請看[lyfile的編寫](#lyfile);
3. 頁面相關姿勢有:post請求引數的獲取:```$_post[varitename]```,登入人ip獲取:```$_server['remote_addr']```、日期格式化:```date( string $format [, int $timestamp ] )```、陣列鍵值對初始化方式:```array(key=>value)```、字串拼接:"......."回車換行符不會打斷整體字串只以《"》為標識;
2. 用到getall()對資料進行提取,具體請看[lyfile的編寫](#lyfile);
2. 用到delmess()對資料進行刪除,具體請看[lyfile的編寫](#lyfile);
3. 相關姿勢有:$.ajax傳送請求、es6字串模板、頁面元素內容賦值、php請求返回echo ***;
..到這,整體結構就完成了。
lyfile是我花的時間比較多的一塊,因此單獨拉出來講,前三段主要說個人對自己書寫方式的必要性;
* 鍛鍊對專案所需要功能的整體把握能力;
* 實現者可以通過inte***ce的描述對功能進行逐個實現,不受其他干擾;
* 呼叫者可以通過inte***ce相關介紹,了解介面呼叫方式;
* inte***ce雖然可以繼承,但他不是類。
* 提高復用性,自身呼叫相關引數採用$this->***進行呼叫,呼叫者通過例項化相關類,呼叫相關方法;
* 安全性,只有提供相關介面的方法才能進行呼叫,否則不能呼叫;
* 延展性,當需要新增新的介面時,之需要在內部再進行新增相應方法即可,不受其他介面影響;
* file_path 因為所有的檔案都儲存在liuyan.txt檔案上,因此file_path就儲存該檔案的路徑
* 常量 errorcode、succcode靜態標識錯誤和正確狀態,避免再**中使用-1,0標識,提高**可讀性
* 首先了解其要做的事:1、獲取資料,2、新增相應的id(為啥這麼幹將在delitem進行說明),3、再lyfile.txt寫入;
* 新增資料獲取是通過呼叫處傳過來的,在此不進行贅述;
* 一條資料放在一行的形式進行儲存;
public function additem($write_data)
//獲取最後一行的id
private function getlastid()
//獲取所有檔案的內容
public function getall()
return $dataarr;
}//陣列轉化成字串並加入換行符,這裡不做贅述
private function itemstring($item_data)
機智的同學早已發現,在上面已經實現了這個函式,那麼咱們就可以愉快的拿起來用了,不用再重複寫了。
這要幹的就是1、通過id找到相應的項,2、找到就刪除並返回成功碼,否則返回錯誤碼
public function delitem($id)
}//如果沒找到索引號,直接退出並返回錯誤碼(物件內常量的引用是self ::constvar)
if($delindex==-1)return self ::errorcode;
//刪除陣列中索引位置的元素;
array_splice($allly, $delindex ,1);
// 將新的陣列元素寫入到檔案中
if($this->allwrite($allly)==self ::succcode)return self ::succcode;
//讀寫出現錯誤
return self ::errorcode;
}//新的陣列元素寫入
private function allwrite($allly)
//將字串寫入
fwrite($handle,$writestr);
fclose($handle);
//返回操作正確碼
return self ::succcode;
}
這裡主要對php大致的一些語法和操作進行。編碼的思路我認為應該是先整體規劃,再部分實現的乙個過程。
php給留言分配id php學習之留言板
前言 在對php語法有一定了解之後開始,這是第乙個php練手專案,涵蓋的知識有 公共部分的引用 表單的提交 請求的接收與響應 inte ce implements的使用 基於檔案的所處理的增刪改查 json的格式化與字串序列化 專案位址message board 整體結構的介紹 root addme...
PHP製作留言板
首先造乙個登入頁面 上圖 然後來寫處理頁面 session start session儲存資料 include db.class.php 引用類 db new db 造方法 zhang post zhang mi post mi sql select mi from yuangong where z...
PHP 留言板練習
登入頁面同session一樣 login頁面 loginchuli頁面 session start uid post uid pwd post pwd include dbda.php db new dbda sql select count from yuangong where username...