php
2012-09-07 59 views 2 likes 
2

我想驗證一個名稱,確保該名稱不使用,但由於某種原因驗證錯誤不斷重複它自我,在這裏我希望它顯示當用戶使用前已使用過的「名稱已在使用名稱」中的名稱已在使用名稱中已在使用名稱中的名稱已在使用名稱中已在使用名稱中。我怎麼能阻止呢?我有一個驗證問題,它不斷收縮

$types = array(); 
$result = mysql_query("SELECT * FROM `im_album` WHERE username = '".$user_data['username']."' "); 

while(($row = mysql_fetch_assoc($result))) { 
    $types[] = $row['name']; 
} 
if (isset($_POST['img_album'])) { 
     $al_name = $_POST['name']; 
     $al_description = $_POST['description']; 
     $mode = $_POST['mode']; 

     if(empty($al_name)){ 
      $errors[] = 'album name required'; 
      } 

     if (strlen($al_name) > 55 || strlen($al_name) > 255) { 
      $errors[] = 'name fields are to long '; 

     } 
     foreach($types as $album){ 
      if ($al_name == $album) 
      $errors[] = "name already in use"; 

     }}; 
     echo output_errors($errors); 
+0

你有沒有檢查過$ types []看起來像是try print_r –

+2

如果你只想顯示一條消息,那麼在'$ errors [] =「名稱已經在使用之後放一個'break;';' – tttony

+0

@mayak swamai是啊,我沒有檢查我的類型 –

回答

3
foreach($types as $album){ 
     if ($al_name == $album) { 
      $errors[] = "name already in use"; 
      break; 
     } 
} 

試試這個代碼塊,而不是在你那裏的人。

+0

感謝人:)但我已經得到它 –

+1

不用擔心!它很好,你已經知道了! :) – Deepak

相關問題