php留言系統(2)
1、參照之前的(mvc框架總結)將整體框架定下來之後,那麼請求預設參數將變成:
<span>//</span><span>默认请求首页: </span><span>//</span><span>P=front </span><span>//</span><span>C=fIndex </span><span>//</span><span>A=show</span>
1.1 找到控制器fIndexController下的動作:
<span>//</span><span>首页展示动作</span> <span>public</span><span> function showAction() { </span><span>//</span><span>防止恶意调用</span> $<span>this</span>-><span>checkAuthority(); </span><span>//</span><span>不需要具体模型,直接载入模版</span> require CUR_VIE_PATH.<span>'</span><span>index.html</span><span>'</span><span>; }</span>
2、防止惡意調用這一塊放於我們的Controller層面,所有模型幾乎都要用到,因此將其放於基礎模型,、
<span>/*</span><span> * 防止恶意调用方法,适用于全部方法 </span><span>*/</span> <span>protected</span><span> function checkAuthority() { </span><span>if</span>(!defined(<span>'</span><span>IN_NG</span><span>'</span><span>)) { exit(</span><span>"</span><span>you no authority</span><span>"</span><span>); } }</span>
隨時呼叫該方法
3、拒絕php低版本,由於總是在運行,所以直接放入初始檔案Framework.class.php
4.1將 CSS做成包含檔案
每個頁面都要導入CSS,著實麻煩,我們定一個檔title.inc.html。
但是每個頁面卻有一個不相同的CSS,那麼可以定義一個常數來證明本頁。
define('SCRIPT','index');
<title>Your Title</title> <?<span>php require </span><span>'</span><span>application/view/front/title.inc.html</span><span>'</span> ?> </head>
其中title.inc.html程式碼
<link rel=<span>"</span><span>shortcut icon</span><span>"</span> href=<span>"</span><span>favicon.ico</span><span>"</span> /> <link rel=<span>"</span><span>stylesheet</span><span>"</span> type=<span>"</span><span>text/css</span><span>"</span> href=<span>"</span><span>public/front/css/1/basic.css</span><span>"</span> /> <link rel=<span>"</span><span>stylesheet</span><span>"</span> type=<span>"</span><span>text/css</span><span>"</span> href=<span>"</span><span>public/front/css/1/<?php echo SCRIPT?>.css<span>"</span> />
5.2 建立註冊頁面register.html
<span>参数请求为: 请求注册页 P</span>=<span>front C</span>=<span>fRegister A</span>=show
代碼為:
<div id=<span>"</span><span>register</span><span>"</span>> <h2>会员注册</h2> <form method=<span>"</span><span>post</span><span>"</span> action=<span>"</span><span>post.php</span><span>"</span>> <dl> <dt>请认真填写一下内容</dt> <dd><span> 用 户 名:</span><input type=<span>"</span><span>text</span><span>"</span> name=<span>"</span><span>username</span><span>"</span> <span>class</span>=<span>"</span><span>text</span><span>"</span> />(*<span>必填,至少两位) </span></dd> <dd><span> 密 码:</span><input type=<span>"</span><span>password</span><span>"</span> name=<span>"</span><span>password</span><span>"</span> <span>class</span>=<span>"</span><span>text</span><span>"</span> />(*<span>必填,至少六位) </span></dd> <dd><span> 确认密码:</span><input type=<span>"</span><span>password</span><span>"</span> name=<span>"</span><span>notpassword</span><span>"</span> <span>class</span>=<span>"</span><span>text</span><span>"</span> />(*<span>必填,同上) </span></dd> <dd><span> 密码提示:</span><input type=<span>"</span><span>text</span><span>"</span> name=<span>"</span><span>passt</span><span>"</span> <span>class</span>=<span>"</span><span>text</span><span>"</span> />(*<span>必填,至少两位) </span></dd> <dd><span> 密码回答:</span><input type=<span>"</span><span>text</span><span>"</span> name=<span>"</span><span>passd</span><span>"</span> <span>class</span>=<span>"</span><span>text</span><span>"</span> />(*<span>必填,至少两位) </span></dd> <dd><span> 性 别:</span><input type=<span>"</span><span>radio</span><span>"</span> name=<span>"</span><span>sex</span><span>"</span> value=<span>"</span><span>男</span><span>"</span> <span>checked</span>=<span>"</span><span>checked</span><span>"</span> /><span>男 </span><input type=<span>"</span><span>radio</span><span>"</span> name=<span>"</span><span>sex</span><span>"</span> value=<span>"</span><span>女</span><span>"</span> /><span>女 </span></dd> <dd <span>class</span>=<span>"</span><span>face</span><span>"</span>> <img src=<span>"</span><span>public/front/face/m01.gif</span><span>"</span> alt=<span>"</span><span>头像选择</span><span>"</span><span> onclick</span>=<span>"</span><span>javascript:window.open('face.php','face','width=400,height=400,top=0,left=0')</span><span>"</span> /> </dd> <dd><span> 电子邮件:</span><input type=<span>"</span><span>text</span><span>"</span> name=<span>"</span><span>email</span><span>"</span> <span>class</span>=<span>"</span><span>text</span><span>"</span> /> </dd> <dd><span> Q Q :</span><input type=<span>"</span><span>text</span><span>"</span> name=<span>"</span><span>qq</span><span>"</span> <span>class</span>=<span>"</span><span>text</span><span>"</span> /> </dd> <dd><span> 主页地址:</span><input type=<span>"</span><span>text</span><span>"</span> name=<span>"</span><span>url</span><span>"</span> <span>class</span>=<span>"</span><span>text</span><span>"</span> value=<span>"</span><span>http://</span><span>"</span> /> </dd> <dd><span> 验 证 码:</span><input type=<span>"</span><span>text</span><span>"</span> name=<span>"</span><span>yzm</span><span>"</span> <span>class</span>=<span>"</span><span>text yzm</span><span>"</span> /> </dd> <dd> <input type=<span>"</span><span>submit</span><span>"</span> <span>class</span>=<span>"</span><span>submit</span><span>"</span> value=<span>"</span><span>注册</span><span>"</span> /> </dd> </dl> </form> </div>
5.3點選頭像彈出選擇頭像框:
<img src=<span>"</span><span>public/front/face/m01.gif</span><span>"</span> alt=<span>"</span><span>头像选择</span><span>"</span><span> onclick</span>=<span>"</span><span>javascript:window.open('face.php','face','width=400,height=400,top=0,left=0')</span><span>"</span> />
這個頁面存放著64 張頭像頁面,可以透過數組循環的方式羅列出來
<?php <span>foreach</span> (range(<span>1</span>,<span>9</span>) <span>as</span> $number) {?> <dd><img src=<span>"</span><span>face/m0<?php echo $number?>.gif<span>"</span> /></dd> <?php }?>
6.提交資料
將資料提交到本頁,必須做一個名值對,用來判斷是否提交了資料。
?action=<span>register 也可以设计一个隐藏字段来做名值对 </span><<span>input type</span>=<span>"</span><span>hidden</span><span>"</span><span> name</span>=<span>"</span><span>action</span><span>"</span><span> value</span>=<span>"</span><span>register</span><span>"</span> />
6.1核對驗證碼
驗證碼的用途是為了防止惡意註冊和一些表單偽造跨站攻擊等。
驗證碼裡保存在session 裡面,可以判斷是否是當前表單提交,而刷新一次後驗證碼隨
即變化,又可以防止多次惡意註冊。
<span>if</span> (!($_POST[<span>'</span><span>yzm</span><span>'</span>] == $_SESSION[<span>'</span><span>code</span><span>'</span><span>])) { _alert_back(</span><span>'</span><span>验证码有误,请重新输入!</span><span>'</span><span>); }</span>
6.2.接受數據
<span>设计变量,将数据提交出来赋值给变量 $_username </span>=<span> $_POST[</span><span>'</span><span>username</span><span>'</span><span>]; 也可以通过一个数组来存放提交过来的值 $_clean </span>=<span> array(); $_clean[</span><span>'</span><span>username</span><span>'</span><span>] </span>=<span> $_POST[</span><span>'</span><span>username</span><span>'</span>]
6.3各種限制與過濾
<span>1.首先,必须去掉两边的空格 $_string </span>= trim($_string);
<span>2.其次长度限制 </span><span>if</span> (mb_strlen($_string,<span>'</span><span>utf-8</span><span>'</span>) < $_min_num || mb_strlen($_string,<span>'</span><span>utf-8</span><span>'</span>) > $_max_num)
<span>3.敏感字符限制 $_char_pattern </span>= <span>'</span><span>/[<>\'\"\ \ ]/</span><span>'</span><span>; </span><span>if</span> (preg_match($_char_pattern,$_string)) {}
<span>4.敏感用户名限制 $_mg[</span><span>0</span>] = <span>'</span><span>22</span><span>'</span><span>; $_mg[</span><span>1</span>] = <span>'</span><span>11</span><span>'</span><span>; $_mg[</span><span>2</span>] = <span>'</span><span>33</span><span>'</span><span>; </span><span>foreach</span> ($_mg <span>as</span><span> $value) { $_mg_string .</span>= <span>'</span><span>[</span><span>'</span>.$value.<span>'</span><span>]</span><span>'</span>.<span>'</span><span>\n</span><span>'</span><span>; } </span><span>if</span><span> (in_array($_string,$_mg)) { _alert_back($_mg_string.</span><span>'</span><span>以上敏感用户名不得注册!</span><span>'</span><span>); }</span>
<span>5.转义输入,有效防止SQL 注入问题 </span><span>//</span><span>mysql_escape_string(); </span><span>//</span><span>addslashes()</span> <span>return</span> mysql_real_escape_string($_string); <span>//</span><span>这个mysql_是需要连接数据库的</span>
以上就介紹了php留言系統(2),包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

為什麼截圖工具在Windows11上不起作用了解問題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已開啟:這可以防止截圖工具開啟。應用程式損壞:如果截圖工具在啟動時崩潰,則可能已損壞。過時的圖形驅動程式:不相容的驅動程式可能會幹擾截圖工具。來自其他應用程式的干擾:其他正在運行的應用程式可能與截圖工具衝突。憑證已過期:升級過程中的錯誤可能會導致此issu簡單的解決方案這些適合大多數用戶,不需要任何特殊的技術知識。 1.更新視窗與Microsoft應用程式商店應用程

Go中Type關鍵字的用法有定義新的型別別名或建立新的結構體類型。詳細介紹:1、類型別名,使用「type」關鍵字可以為現有的類型建立別名,這種別名不會建立新的類型,只是為現有的類型提供一個新的名稱,類型別名可以提高程式碼的可讀性,使程式碼更加清晰;2、結構體類型,使用「type」關鍵字可以建立新的結構體類型,結構體是一種複合類型,可用於定義包含多個欄位的自訂類型等等。

ubuntu掛載行動硬碟出現錯誤:mount:unknownfilesystemtype'exfat'處理方法如下:Ubuntu13.10或安裝exfat-fuse:sudoapt-getinstallexfat-fuseUbuntu13.04或以下sudoapt-add-repositoryppa:relan/ exfatCentOSLinux掛載exfat格式u碟錯誤的解決方法CentOS中載入extfa

laravel input隱藏域的實作方法:1、找到並開啟Blade模板檔案;2、在Blade模板中使用method_field方法來建立隱藏域,其建立語法為「{{ method_field('DELETE') }}」。

準備工作用vuecreateexample建立項目,參數大概如下:用原生input原生的input,主要是value和change,資料在change的時候需要同步。 App.tsx如下:import{ref}from'vue';exportdefault{setup(){//username就是資料constusername=ref('張三');//輸入框變化的時候,同步資料constonInput=;return( )=>({

點選input框沒有遊標的解決方法:1、確認輸入框焦點;2、清除瀏覽器快取;3、更新瀏覽器;4、使用JavaScript;5、檢查硬體設備;6、檢查輸入框屬性;7、調試JavaScript程式碼;8、檢查頁面其他元素;9、考慮瀏覽器相容性。

第1部分:初始故障排除步驟檢查蘋果的系統狀態:在深入研究複雜的解決方案之前,讓我們先從基礎知識開始。問題可能不在於您的設備;蘋果的伺服器可能會關閉。造訪Apple的系統狀態頁面,查看AppStore是否正常運作。如果有問題,您所能做的就是等待Apple修復它。檢查您的網路連接:確保您擁有穩定的網路連接,因為「無法連接到AppStore」問題有時可歸因於連接不良。嘗試在Wi-Fi和行動數據之間切換或重置網路設定(「常規」>「重置」>「重置網路設定」>設定)。更新您的iOS版本:
