php教程日期 郵箱位址 使用者名驗證實例
<form id="form1" name="form1" method="post" action="">
<label>name
<input name="name" type="text" id="name" />
</label>
<p>
&n bsp; <label>birthday
<input name="birthday" type="text" id="birthday" />
</label>
</p>
<p>
<label> email
<input name="email" type="text" id="email" />
</label>
</p>
<p>
<label>
<input type= "submit" name="Submit" value="submit" />
</label>
</p>
</form >
<?php
//這個函數主要用來檢查提交的表單資料是否有錯(validate)
//實際應用上使用者輸入資料的檢驗(validate)及過濾(filter)都涉到程式安全性,非常重要, 必不可少
//在寫實際應用時不會把$_POST直接放在函數裡,這裡是一個姑息的解決方法,希望大家能改正
if( $_POST )
{
form_error();
}
function form_error() {
$_POST['name'] = trim(strip_tags($_POST['name'])); //這個實際上是Filter
$len_name = strlen($_POST['name']);
if($len_name > 30 || $len_name < 2) {
$msg = '姓名長度必須大於2小於30<br />';
}
$date = explode('-', $_POST['birthday']);
if(sizeof($date) != 3) {
$msg .= '日期格式錯誤<br /& gt;';
} else {
if(!checkdate($date[1], $date[2], $ date[0])) {
$msg .= '日期不正確<br />';
& nbsp; }
}
if(!eregi("^[a-z'0-9]+( [._-] [a-z'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$", $_POST['email'])) {
$msg .= '郵箱格式錯誤';
}
return $msg;
}
?>