Логический метод отображения сообщений об ошибках отправки с использованием php - PullRequest
0 голосов
/ 19 августа 2010
//deal with individual form section posts
//-->Faction Name
if(isset($_POST['factionname'])){
    $unsani_faction_name = $_POST['faction'];
    $new_faction_name = str_replace(",", "", $unsani_faction_name);
    $faction_name = mysql_real_escape_string($new_faction_name);
    $faction_name = preg_replace('/\s\s+/', ' ', $faction_name);//strips excess white space
    $faction_name = stripslashes($faction_name);//strips slashes from name

    //remove special chars except: "& $ £ ^ - ( )"
    $faction_name = preg_replace('/[^a-z0-9\s£&$\^\(\)-]/i', '', $faction_name);  
    $string_length = strlen($faction_name);

    if($string_length < 0 || $string_length > 20) { 
        echo '<strong>Error:</strong> Property name needs to be between 1-20 characters.&nbsp;'; 
    }else { 
        $sql = mysql_query("SELECT * FROM ".TBL_USERPROPBANKS." WHERE prop_name='$prop_name'"); 
        $num_rows = mysql_num_rows($sql);
        if ($num_rows > 0) { 
            echo '<strong>Error:</strong> Bank with the same name in existance.&nbsp;'; 
        }else {  
            mysql_query("UPDATE ".TBL_USERPROPBANKS." SET prop_name='$prop_name' WHERE prop_id='$bankid'"); 
            header("Location: bank_cp.php?bankid=".$bankid."&section=settings");
        }
    }

Я решаю свои ошибки, используя вышеуказанный метод.Какой (по вашему мнению) наиболее логичный способ:

  1. Подсчет количества ошибок
  2. И отображение / печать их внутри отдельного раздела моего макета для отображения каждого сообщения об ошибкев списке?

Все, что я могу сейчас себе представить, это присвоить нулевые значения уникальным переменным, а затем заполнить его уникальным сообщением об ошибке, если оно не соответствует моим требованиям проверки (будет более 20разные ошибки).Есть идеи на этот счет?

1 Ответ

1 голос
/ 19 августа 2010

Я бы создал пустой массив, в который я поместил бы ошибки, а позже просто сделал бы из него строку и отобразил ее.

$errors = array();
...
if($string_length < 0 || $string_length > 20) {
  $errors[] = '<strong>Error:</strong> Property name needs to be  between 1-20 characters.&nbsp;';
}
...
if($num_rows > 0) {
  $errors[] = '<strong>Error:</strong> Bank with the same name in existance.&nbsp;';
}

// lower in a place you display the errors
echo implode('<br />', $errors);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...