0

以下は検証ページの一部です。一般的には問題なく動作します。このサイトはボリュームが少ないため、速度の最適化にはあまり関心がありませんでした. 私の問題は、一部のユーザーが有効なデータを検証しないことです。ほとんどのユーザーは問題を抱えていません。たとえば、顧客が「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 ;

}
4

0 に答える 0