在Web開發(fā)中,表單輸入校驗(yàn)是一個必不可少的部分。隨著互聯(lián)網(wǎng)的普及,用戶輸入的數(shù)據(jù)越來越多,如果不進(jìn)行正確的校驗(yàn),就會存在風(fēng)險。php mysql 提供了多樣化的驗(yàn)證方式,本篇文章將詳細(xì)介紹相關(guān)知識。
先來介紹最基礎(chǔ)的輸入校驗(yàn)方法:
1. 使用 PHP 函數(shù)進(jìn)行輸入校驗(yàn)。
<?php $check = $_POST['tel']; if (!preg_match("/^[1-9]{1}[0-9]{10}$/",$check)){ echo "請輸入正確的11位手機(jī)號碼!"; } ?>對用戶的h5用戶名和密碼校驗(yàn)時也是很常見的場合,例如:
2. 使用 JS 函數(shù)進(jìn)行輸入校驗(yàn)。
< script type="text/javascript">function checkForm(){ var username=document.getElementsByName("username")[0].value; var password=document.getElementsByName("password")[0].value; if(username==""){ alert("用戶名不能為空!"); return false; } if(password==""){ alert("密碼不能為空!"); return false; } } </script>對mysql數(shù)據(jù)庫進(jìn)行驗(yàn)證的方式有MYSQLI和PDO兩種,下面分別對其進(jìn)行介紹。
3. MYSQLI方式
<?php $con = mysqli_connect("localhost","root","","my_db"); // 檢查連接 if (mysqli_connect_errno()) { echo "連接失敗: " . mysqli_connect_error(); } $sql="SELECT * FROM Persons WHERE FirstName LIKE '$_POST[fname]%' AND LastName LIKE '$_POST[lname]%'"; if ($result=mysqli_query($con,$sql)) { // 獲取記錄數(shù) $rowcount=mysqli_num_rows($result); printf("結(jié)果集中的行數(shù):%d",$rowcount); // 釋放結(jié)果集 mysqli_free_result($result); } mysqli_close($con); ?>
4.PDO方式:
<?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); // 設(shè)置 PDO 錯誤模式為異常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT * FROM MyGuests WHERE email='".$_POST["email"]."'"; // 使用 exec(),因?yàn)闆]有結(jié)果返回 $conn->exec($sql); echo "數(shù)據(jù)更新成功"; } catch(PDOException $e) { echo $sql . "不難發(fā)現(xiàn),上述多種方式都各具特色,根據(jù)不同的場合作出選擇,相信能夠?qū)崿F(xiàn)更優(yōu)秀的效果。 總之,針對表單的輸入校驗(yàn),尤其是涉及到mysql的數(shù)據(jù)操作時,我們需要兼顧安全性和效率,掌握相關(guān)知識,做到心中有數(shù),才能夠做到濟(jì)濟(jì)一聲善,成就事業(yè)。
" . $e->getMessage(); } $conn = null; ?>
上一篇css在程序里寫