Доброго времени суток!
Я студент, начинаю осваивать PHP на конкретном примере, попутно разбирая всякие мелочи.
Вообщем, кратко, мое задание: нужно написать систему авторизации, данные о пользователе и его пароль должны храниться в текстовом файле. Начинаю придумывать как это реализовать. Последнеей идеей было построчное сравнение. Вообщем, у меня такой файл:
Vlad
123
Kappa 321
(к примеру)
Дальше я читаю файл построчно, записываю в массив. Присваиваю переменной первый элемент массива. (чтобы посмотреть, нормально ли работает, делаю все постепенно, разбирая на мелочах). Сравниваю то, что записано в поле "Логин" и первым элементом массива, получаю -1. Пришел к мысли, что все изза того, что в каждой строке файла есть символ переноса строки, решил использовать трим\ртрим чтобы решить эту проблему, но ничего не получается.
Я изобретаю велосипед, конечно, но хотелось бы понять, в чем ошибка, и какие альтернативные реализации на уровне "детского сада" вы можете предложить?
Мой набросок:
<?session_start();?>
<html>
<head>
<title>Задание 1</title>
</head>
<body bgcolor=#FFF8DC>
<H2 align=center> Вход в систему </H2>
<center>
<form action="index.php" method="post">
<input type=text name=login placeholder="Логин" size=10></p>
<input type=password name=password placeholder="Пароль" size=10></p>
<input type=submit name=log value=Вход>
</form>
<?
$users = file("users.txt"); //записываем содержание файла с логинами и паролями в массив
echo "Вы ввели: ", $_POST["login"], "<br/>";
echo "Первый элемент в массиве- ", $users[0], "<br/>";
$str1=trim($_POST['login']);
$str2=$users[0];
echo "Результат сравнения строк - ", strcmp($str1, $str2);
?>
</center>
</body>
</html>
Результат работы:
По идее strcmp должен давать 0, но как с trim, так и с rtrim 0 не получается. В чем проблема?