【发布时间】:2015-10-12 00:27:13
【问题描述】:
更新说明
我想检查用户提供的数据中是否包含字母和数字字符。因此,如果用户输入 LP1 5NQ 或 LP15NQ 并且我有一个数据数组并且包含在数组内部是这样的:
array(..., "LP1", ...)那么脚本应该将数组匹配到 LP15NQ 或 LP1 5NQ
所以基本上我的问题是,当我尝试检查用户输入说 LP1 5NQ 或类似的东西时,我只想检查他们输入 LP1 的开始部分,但将 LP1 5NQ 存储在他们的会话中,以便以后可以访问它。我已经可以存储他们的输入我只是无法检查用户输入的开始。
PHP:
$op_postcodes = array("DG10","DG3", ......);
function like_in_array( $sNeedle, $aHaystack) {
foreach($aHaystack as $sKey) {
if(stripos(strtoupper($sKey), strtoupper($sNeedle)) !== false) {
return true;
}
}
return false;
}
if(isset($_POST["service_checker"]) && !empty($_POST["service_checker")) {
$postcode = htmlentities(trim(strtoupper($_POST['postcode'])));
if(empty($postcode)) {
$error = "<p class='err_msg'>Your postcode is required so that we can check if our services are available in your area.</p>";
} else if(like_in_array($postcode, $op_postcodes)) {
$error = "<p class='pop_up alert success'>Your in! We supply our services to $postcode.</p>";
$_SESSION['predx_cust_pc_order'] = $postcode;
} else {
$error = "<p class='err_msg'>Sorry, we aren't supplying your area just yet.</p>";
}
}
【问题讨论】:
标签: php