2014-04-27 4 views
0

로그인 기능이 있지만 다음 페이지로 리디렉션되기 전에 하나의 문제가 있습니다. $user_data['isikukood']$tootaja_data에 있는지 확인해야 할 수 있습니다. 그것은 작동하지 않습니다. 당신이 코드에서PHP 배열, 데이터 비교

db_connect(); 
if (isset($_POST['login'])) { 
    $kasutajanimi = $_POST['kasutajanimi']; 
    $password = $_POST['pass']; 

    $query = mysql_query("SELECT * FROM isik WHERE nimi='$kasutajanimi'"); 
    $query_tootaja = mysql_query("SELECT isikukood FROM tootaja"); 

    $user_data = mysql_fetch_array($query); 

    $count = 0; 
    $tootaja_data = array(); 

    while($row = mysql_fetch_assoc($query_tootaja)) 
    { 
     $tootaja_data[$count] = $row; 
     $count++; 

    } 

    if($user_data['parool'] == $password){ 

     foreach($tootaja_data as $value){ 
      if($user_data['isikukood'] == $value){ 
       header('Location: ../main.php/?view=tootaja'); 
      }else{ 
       header('Location: ../main.php/?view=klient'); 
      }   
     } 
//  print_arr($tootaja_data); 

    }else{ 
     header('Location: ../index.php'); 
    } 
} 

답변

2

PHP는, 당신은 문자열로 전체 배열을 비교된다.

$value = array('isikukood ' => 'string'); 

당신이 할 일은 정확한 요소 in_array

if(in_array($user_data['isikukood'], $value)){ ... 

을 사용하거나 비교입니다 : 루프에서

$value 같은 가능성이 뭔가 보이는

if ($user_data['isikukood'] == $value['isikukood']){ ... 
+0

을 내' $ tootaja_data'는'Array ([0] => Array ([isi kukood] => 39305267044) [1] => 배열 ([isikukood] => 47563421869))'. foreach주기에서'in_array' 또는 정확한 요소 비교를 사용하는 경우 조건은 마지막 요소에 대해서만 true입니다. 내가 어떻게 생각해야할지 모르겠다. 도와 주시면 도와주세요. – vladja