以下は検証ページの一部です。一般的には問題なく動作します。このサイトはボリュームが少ないため、速度の最適化にはあまり関心がありませんでした. 私の問題は、一部のユーザーが有効なデータを検証しないことです。ほとんどのユーザーは問題を抱えていません。たとえば、顧客が「2881 Hayden Creek Terrace」という番地を入力すると、検証でクリアされませんでした。私はこれにかなり慣れていないので、これらのタイプのものが一般的である可能性がありますが、問題は顧客のブラウザの文字セットにあると推測しています. これはおそらく私が調べるべきことですか?一般的に、コードに重大な問題が見られる人はいますか?
function validation_payment($_check='') {
$_error = '' ;
foreach( $_POST as $key => $value ) {
$value = preg_replace( "/[^\w@&#,\-\.\s\!\?]/",'',$value ) ;
$value = preg_replace( "/\s\s+/"," ",$value ) ;
//echo $value.'</br>' ;
$_POST[$key] = $value ;
switch ($key) {
case 'ADDRESS_STREET_LINE1':
$value = preg_replace("/[^\w,\-\.\s]/","",$value) ;
if( empty($value) ) {
$_error = "Error: Please make sure the Street Address entered on LINE 1 is not blank.<br/>" ;
}elseif( !preg_match("/\s/",$value) ) {
$_error .= "Error: The Street Address on LINE 1 does not appear to contain a street location and street name. Please review it for accuracy.<br/>" ;
}elseif( !( strlen($value) < 100 ) ) {
$_error .= 'Error: The Street Address entered on LINE 1 contains too many characters.<br/>' ;
}else{
$_SESSION['BILLING'][$key] = $value ;
}
break ;
}