Проблема с проверкой пароля

djar

Новичок
Делаю электронную библиотеку на PHP+MSSQL.

На главной странице будет форма входа - для читателей и для сотрудников библиотеки.

Делаю две формы:
PHP:
<br>
Для читателя:<br>
<form action="" method="post">
<input name="login" type="text" value="<?php if ($_POST['who']=="member") {echo $login;} ?>">
<input name="password" type="password" value="">
<input name="who" type="hidden" value="member">
<input type="submit" value="Войти">
</form>
Для сотрудника:<br>
<form action="" method="post">
<input name="login" type="text" value="<?php if ($_POST['who']=="lib") {echo $login;} ?>">
<input name="password" type="password" value="">
<input name="who" type="hidden" value="lib">
<input type="submit" value="Войти">
</form>
И php-код в этом же файле перед html-формами:
PHP:
<?php

$login = $_POST['login'];
$password = $_POST['password'];

if ($_POST['who']) { //проверяем, была ли нажата кнопка Войти в форме
	if ($login!='' and $password!='') { //проверяем, чтобы логин и пароль не были пустыми
		include("sys/sql_connect.php"); //подключаемся к БД
    	if ($_POST['who']=="member") { //если входит читатель, то
    		$q = "SELECT member_fio,ticket FROM _members WHERE member_fio=\"".$login."\"";
    		$res = mssql_query($q);
    		$number = mssql_num_rows($res);
    		if ($number == 1) { //если есть запись с таким логином, то
				$row = mssql_fetch_array($res);
				if ($password==$row['ticket']) {//проверяем пароль
        			echo "Добро пожаловать, ".$row['member_fio'].". Вы - читатель. Номер вашего читательского билета - ".$row['ticket'].".";
	 			}
        		else {echo "Пароль неверный";}
        	}
        	else {echo "Такого юзера не существует";}
		}
    	else if ($_POST['who']=="lib") { //если входит сотрудник, то
        	$q = "SELECT login_lib,password_lib FROM _users WHERE login_lib=\"".$login."\"";
        	$res = mssql_query($q);
        	$number = mssql_num_rows($res);
        	if ($number == 1) {
        		$row = mssql_fetch_array($res);
        		if ($password==$row['password_lib']) {
        			echo "Вы - сотрудник. Ваш пароль - ".$row['password_lib']." ваш логин - ".$row['login_lib'];
        		}
        		else {echo "Пароль неверный";}
        	}
        	else {echo "Такого юзера не существует";}
    	}
    }
    else {echo "Вы ввели не все данные";}
}

?>
Сначала проверяем, был ли нажат submit в форме, потом узнаём, кто входит - читатель или сотрудник, и выполняем различные действия для них.

Блоки для сотрудника и читателя полностью идентичны. Но почему-то для читателя - всё работает, а для сотрудника - когда ввожу верные данные - выводится "Пароль неверный".

Пробовал в формах поменять местами значения скрытых полей - и снова та же фигня - для читателей всё работает, для сотрудников - "Пароль неверный".

Если вставить
PHP:
echo $row['login_lib'].$row['password_lib'];
после заполнения $row, то выводит и логин и пароль для этого логина. То есть из БД берёт, но сверить почему-то не получается.

Где я накосячил?
 
Сверху