表單提交時要求用戶輸入身份證號後六位,與系統存儲的值比對,僅當一致才允許進行後續操作。
身份證後六位屬於定長字符串比對,可直接使用 substr 截取或正則驗證格式後再比較。
<?php
// $stored_idcard 為數據庫中存儲的完整身份證號
// $_POST['id_suffix'] 為用戶提交的後六位
$stored_suffix = substr($stored_idcard, -6);
if ($stored_suffix === $_POST['id_suffix']) {
echo '驗證通過,允許操作';
// 執行後續業務邏輯
} else {
echo '身份證後六位不匹配,操作被拒絕';
}
?>
<?php
$file_path = 'idcard.txt'; // 僅存儲一行完整身份證號
if (file_exists($file_path)) {
$full_id = trim(file_get_contents($file_path));
$suffix = substr($full_id, -6);
if ($suffix === $_POST['id_suffix']) {
echo '匹配成功';
} else {
echo '不匹配';
}
} else {
echo '數據源文件不存在';
}
?>
防止用戶提交非數字或長度不足的內容:
if (!preg_match('/^\d{6}$/', $_POST['id_suffix'])) {
die('請輸入正確的 6 位數字');
}