2010-08-18 3 views
0
//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"); 
     } 
    } 

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

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

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

+0

Это не имеет никакого отношения к вашему вопросу, но каков ваш повод для удаления символов из названия фракции? Если это то, что пользователи подают и которое возвращается к ним, вам следует рассмотреть возможность использования любых и любых символов в нем без искусственного ограничения. – Timwi

+0

Я не хочу, чтобы пользователи использовали символы, которые я не хочу отображать на сайте? Он отображается всем пользователям на сайте. –

+0

Должен ли я разрешать все символы? –

ответ

1

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

$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); 
+0

Я собираюсь проверить этот метод! Я вернусь к вам после того, как немного поиграю с ним :) –

+0

как подсчитать количество ошибок в этом массиве? –

+1

http://www.php.net/count ... –

Смежные вопросы