PHP入門教程之表單與驗(yàn)證實(shí)例詳解
本文實(shí)例講述了PHP表單與驗(yàn)證。分享給大家供大家參考,具體如下:
Demo1.php
<?php ob_start(); //重新導(dǎo)向一個(gè) URL //header() //header('Location:Demo2.php'); //上面這句話可以自動(dòng)跳轉(zhuǎn)到你所想要的頁面。 //header('Location:http://www.baidu.com'); //上面這句話自動(dòng)跳轉(zhuǎn)到百度上面去。 echo 'baidu.com'; header('Location:http://www.baidu.com'); //在執(zhí)行 header() 函數(shù),必須注意,之前不能有任何瀏覽器輸出 ?>
Demo2.php
<?php ob_start(); echo '1232'; //字符編碼 header('Content-Type:text/html;charset=GBK'); //設(shè)置頁面編碼 echo '我是中文'; ?>
Demo3.php
<form method="post" action="Demo4.php"> 姓名:<input type="text" name="username" /><br /> <input type="submit" value="提交" /> </form>
Demo4.php
<?php //第一步,接收前面表單中的值。 //一個(gè),username //接收 $_POST['username'] //echo $_POST['username']; //你需要明白一個(gè)道理,空字符串也是數(shù)據(jù),也可以賦值給 $_POST['username']; //使用 isset() 驗(yàn)證是否正常提交是很準(zhǔn)確的 //目前所說的非法提交,是你沒有經(jīng)過表單提交,沒有生成全局變量,而不是 username //這個(gè)字段為空 // if(isset($_POST['username'])){ // echo '正常提交'; // }else{ // echo '非法提交'; // } //!empty($_POST['username']) 和 == ''基本一樣,但是,并不能說,人家是非法的 //只能說人家沒有填而已。 // if(!empty($_POST['username'])){ // echo '正常提交'; // }else{ // echo '非法提交'; // } //建議使用 if(isset($_POST['username'])){ echo '正常提交'; //在輸出之前,為了頁面安全性 //echo $_POST['username']; $username = $_POST['username']; $username = trim($username); $username = htmlspecialchars($username); if(strlen($username) < 2) { echo '用戶名不能小于兩位'; exit(); } if(!is_numeric($username)) { echo '用戶名必須是純數(shù)字'; exit(); } echo $username; //<strong>閱誰問君誦</strong> }else{ echo '非法提交'; } ?>
Demo5.php
<form method="post" action="Demo6.php"> 用戶名:<input type="text" name="username" /><br /> 密 碼:<input type="text" name="password" /><br /> 驗(yàn)證碼:<input type="text" name="code" size="5" />1234<br /> 郵 箱:<input type="text" name="email" /><br /> 介 紹:<textarea rows="6" cols="25" name="content"></textarea><br /> <input type="submit" value="提交" name="send" /> </form>
Demo6.php
<?php //第一步,先驗(yàn)證是否是 Demo5.php 提交過來 //只要是按鈕點(diǎn)到我這里來的,那么就說明,其他超級(jí)變局變量都應(yīng)該存在 //如果 send 是存在的,那么就說是點(diǎn)過來,否則,跳回 if(!isset($_POST['send']) || $_POST['send'] != '提交'){ header('Location:Demo5.php'); exit; //跳回去了,下面就不需要執(zhí)行了,那么就 exit; } //第二步,接收所有數(shù)據(jù) $username = trim($_POST['username']); $password = $_POST['password']; $code = trim($_POST['code']); $email = trim($_POST['email']); $content = htmlspecialchars(trim($_POST['content'])); //用戶名不能小于 2 位,不能大于 10 位 if(strlen($username)<2||strlen($username)>10){ echo "<script>alert('用戶名不能小于兩位或者大于10');history.back();</script>"; exit; } //密碼不能小于六位 if(strlen($password) <6){ echo "<script>alert('密碼不能小于6位');history.back();</script>"; exit; } //驗(yàn)證碼必須是 4 位,必須是數(shù)字 if(strlen($code)!=4 || !is_numeric($code)){ echo "<script>alert('驗(yàn)證碼必須是 4 位并且是純數(shù)字');history.back();</script>"; exit; } //驗(yàn)證電子郵件 if(!preg_match('/^([\w\.]{2,255})@([\w\-]{1,255}).([a-z]{2,4})$/',$email)){ echo "<script>alert('電子郵箱不合法');history.back();</script>"; exit; } echo '用戶名:'.$username.'<br/>'; echo '電子郵件:'.$email.'<br/>'; echo '個(gè)人介紹:'.$content; ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php 表單驗(yàn)證實(shí)現(xiàn)代碼
- ThinkPHP表單自動(dòng)提交驗(yàn)證實(shí)例教程
- php用戶注冊(cè)頁面利用js進(jìn)行表單驗(yàn)證具體實(shí)例
- thinkPHP實(shí)現(xiàn)表單自動(dòng)驗(yàn)證
- php下常用表單驗(yàn)證的正則表達(dá)式
- 基于PHP+Ajax實(shí)現(xiàn)表單驗(yàn)證的詳解
- php基于表單密碼驗(yàn)證與HTTP驗(yàn)證用法實(shí)例
- PHP代碼實(shí)現(xiàn)表單數(shù)據(jù)驗(yàn)證類
- PHP Yii框架之表單驗(yàn)證規(guī)則大全
- ThinkPHP 表單自動(dòng)驗(yàn)證運(yùn)用示例
- php常用表單驗(yàn)證類用法實(shí)例
- Ajax提交表單時(shí)驗(yàn)證碼自動(dòng)驗(yàn)證 php后端驗(yàn)證碼檢測(cè)
相關(guān)文章
Thinkphp框架開發(fā)移動(dòng)端接口(1)
這篇文章主要為大家詳細(xì)介紹了Thinkphp框架開發(fā)移動(dòng)端接口,具有一定的實(shí)用性,感興趣的小伙伴們可以參考一下2016-08-08php提供實(shí)現(xiàn)反射的方法和實(shí)例代碼
在本篇文章里我們給各位分享了一篇關(guān)于php提供實(shí)現(xiàn)反射的方法和實(shí)例代碼相關(guān)內(nèi)容,有興趣的朋友們參考下。2019-09-09php讓json_encode不自動(dòng)轉(zhuǎn)義斜杠“/”的方法
在本篇文章里小編給大家分享的是關(guān)于php讓json_encode不自動(dòng)轉(zhuǎn)義斜杠“/”的方法,需要的朋友們可以學(xué)習(xí)下。2020-04-04