本文實例講述了PHP表單與驗證。分享給大家供大家參考,具體如下:
Demo1.php
<?php
ob_start();
//重新導向一個 URL
//header()
//header('Location:Demo2.php');
//上面這句話可以自動跳轉到你所想要的頁面。
//header('Location:http://www.baidu.com');
//上面這句話自動跳轉到百度上面去。
echo 'baidu.com';
header('Location:http://www.baidu.com');
//在執行 header() 函數,必須注意,之前不能有任何浏覽器輸出
?>
Demo2.php
<?php
ob_start();
echo '1232';
//字符編碼
header('Content-Type:text/html;charset=GBK'); //設置頁面編碼
echo '我是中文';
?>
Demo3.php
<form method="post" action="Demo4.php"> 姓名:<input type="text" name="username" /><br /> <input type="submit" value="提交" /> </form>
Demo4.php
<?php
//第一步,接收前面表單中的值。
//一個,username
//接收 $_POST['username']
//echo $_POST['username'];
//你需要明白一個道理,空字符串也是數據,也可以賦值給 $_POST['username'];
//使用 isset() 驗證是否正常提交是很准確的
//目前所說的非法提交,是你沒有經過表單提交,沒有生成全局變量,而不是 username
//這個字段為空
// 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 '用戶名必須是純數字';
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 /> 驗證碼:<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
//第一步,先驗證是否是 Demo5.php 提交過來
//只要是按鈕點到我這裡來的,那麼就說明,其他超級變局變量都應該存在
//如果 send 是存在的,那麼就說是點過來,否則,跳回
if(!isset($_POST['send']) || $_POST['send'] != '提交'){
header('Location:Demo5.php');
exit; //跳回去了,下面就不需要執行了,那麼就 exit;
}
//第二步,接收所有數據
$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;
}
//驗證碼必須是 4 位,必須是數字
if(strlen($code)!=4 || !is_numeric($code)){
echo "<script>alert('驗證碼必須是 4 位並且是純數字');history.back();</script>";
exit;
}
//驗證電子郵件
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 '個人介紹:'.$content;
?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。