Странное поведение цикла if

afagorn

Новичок
Решил Я написать регистрацию с БД в файле.
PHP:
<html>
	<head>
		<title> bla bla </title>
	</head>
	<body>
 		<?
/*содержание файла базы данных bd.txt:
123|321
22|11

123 - логин, 321 - пароль.
22 - логин, 11 - пароль
*/
		        $a = 0;	
			ini_set('display_errors',1);
			error_reporting(E_ALL);
			
			$f_bd = "bd.txt"; //Название файла
			$loginpass = file($f_bd); // впихиваем данные из файла в массив
			if (!isset($_REQUEST['go']))// Если не нажата кнопка, создаем формочку
			{ ?>	
			<form>
				login: <input type=text name="login" value=""><br>
				Password: <input type=password name="pas" value=""><br>
				<input type=submit value="OK" name="go">
			</form>
			<? } else {
				for ($i=0; $i<count($loginpass); $i++) 
				{
					list( $gb_login, $gb_pass ) = explode('|', $loginpass[$i]); // Распихиваем переменным.  
/*При первом прохождении цикла фор значение переменных:  $gb_login = 123, $gb_pass = 321. При втором разе $gb_login = 11, $gb_pass = 22 */
					echo "gp_pass = ".$gb_pass."<br>\n"."REQUEST['pas'] = ".$_REQUEST['pas']."<br>\n";
/*Глянем содержимое переменных и увидим:
gp_pass = 321 
REQUEST['pas'] = 321
Второе прохождение цикла фор
gp_pass = 11 
REQUEST['pas'] = 321 */
					if ( $_REQUEST['pas'] == $gb_pass && $_REQUEST['login'] == $gb_name) // равно ли 123 123 и 321 321? РНР отвечает, что не равны и выводит Game over
					{
						echo "YOU WIN!!!"; $a = 1; break;
					}
				}
				if ($a == 0) { echo "Game over";}
			} ?>		
	</body>
</html>
Постоянной выдает game over, хотя данные правильные ввожу.
 

craz

Нестандартное звание
Изначально все не верно, переписать полностью, почитав эти ваши интернеты.
 
Сверху