我一直在嘗試使用PHP來驗證我的表單。PHP表單數字驗證
表單要求用戶輸入詳細信息,然後在表單驗證完成後輸入數據庫中的表格。
我在窗體中有一個客戶ID字段,我試圖驗證它以確保它有一個值(必填字段),只包含數字字符,正好是6位數字並且是唯一ID (即在數據庫中不存在)。
這是我到目前爲止有:
<body>
<?php
$temp = "";
$msg = "";
$rst = "";
if (isset($_POST["submit"])) {
$number = $_POST["custid"];
if(empty($number)) {
$msg = '<span class="error"> Please enter a value</span>';
} else if(!is_numeric($number)) {
$msg = '<span class="error"> Data entered was not numeric</span>';
} else if(strlen($number) != 6) {
$msg = '<span class="error"> The number entered was not 6 digits long</span>';
} else {
echo "valid";
}
}
?>
<h1>Customer Information Collection <br /></h1>
<form method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" id="custinfo" >
<table>
<tr>
<td><label for="custid">Customer ID (integer value): </label></td>
<td><input type="text" id="custid" name="custid" value="<?php echo $temp ?>" size=11 /><?php echo $msg; ?></td>
</tr>
<tr>
<td><label for="customerfname">Customer Frist Name: </label></td>
<td><input type="text" id="customerfname" name="fname" size=50/></td>
</tr>
<tr>
<td><label for="customerlname">Customer Last Name: </label></td>
<td><input type="text" id="customerlname" name="lname" size=50/></td>
</tr>
<tr>
<td><label for="customeraddress">Customer Address: </label></td>
<td><input type="text" id="customeraddress" name="custaddress" size=65/></td>
<td><label for="suburb"> Suburb: </label></td>
<td><input type="text" id="suburb" name="suburb"/></td>
</tr>
<tr>
<td>
State:<select name="state" id="state">
<option value="select">--</option>
<option value="ACT">ACT</option>
<option value="NSW">NSW</option>
<option value="NT">NT</option>
<option value="QLD">QLD</option>
<option value="SA">SA</option>
<option value="TAS">TAS</option>
<option value="VIC">VIC</option>
<option value="WA">WA</option>
</select>
</td>
<td><label for="postcode"> Post Code: </label><input type="text" id="postcode" name="postcode" size=4/></td>
</tr>
</table>
<p><input type="submit" name="submit" value="Save Data"/> <input type="reset" value="Clear Form" />
</tr>
</form>
</body>
我遇到的問題是,當我故意輸入不正確的值到客戶ID字段,它並沒有給我任何錯誤。它只是處理不正確的值,就好像它們是正確的。
任何幫助都會非常棒!如果需要更多信息,請詢問。
這可以幫助你.. http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric – reikyoushin 2013-05-03 15:07:33
@reikyoushin - 閱讀問題 – Ryan 2013-05-03 15:08:30
是不是我的,如果($號< 6 || $ number> 6){檢查它是否有6位數的正確條件? – user2273149 2013-05-03 15:11:01