У меня проблемы при попытке использовать для каждого оператора для хранения значений внутри массива.Поэтому цель моей программы - хранить содержимое текстового файла внутри массива, и таким образом я могу проверить, совпадает ли введенный пользователем контент с содержимым, хранящимся внутри текстового файла.Проблема заключается в том, что при сравнении значений в массиве с пользовательским вводом программа не может определить, совпадает ли пользовательский ввод с содержимым, хранящимся в массиве.Мой вердикт в отношении ситуации заключается в том, что при использовании оператора for для каждого из них для хранения содержимого текстового файла в массиве добавляется пространство между каждым значением.(Мой вердикт может быть неправильным).
Основной код:
<html>
<body>
<form name="LoginForm" method="post">
<label>Username</label>
<input type="text" name="Username"/>
<label>Password </label>
<input type="Password" name="Password" />
<input type="submit"/>
</form>
<?php
$Username = $_POST["Username"];
$Password = $_POST["Password"];
$CollectedDetails = file('UsernamesandPasswords.txt');
$Array = array();
foreach($CollectedDetails as $EachValue)
{
$Array[] = $EachValue;
}
for($Loop = 0; $Loop < 6; $Loop+=2)
{
if($Username == $Array[$Loop] && $Password == $Array[$Loop+1])
{
echo "Access Permitted";
}
else
{
echo "Access Denied";
}
}
?>
</body>
</html>
Содержимое, хранящееся внутри текстового файла Dave Password Lucy Password2 Chris Password3
Ниже приведена рабочая обновленная версия вышеуказанной программы без добавления.текстового файла.(Я решил добавить его на случай, если это поможет).
<html>
<body>
<form name="LoginForm" method="post">
<label>Username</label>
<input type="text" name="Username"/>
<label>Password </label>
<input type="Password" name="Password" />
<input type="submit"/>
</form>
<?php
$Username = $_POST["Username"];
$Password = $_POST["Password"];
$Array = array(Dave,Password,Lucy,Password2,Chris,Password3);
$Successful = false;
for($Loop = 0; $Loop < 6; $Loop+=2)
{
if($Username == $Array[$Loop] && $Password == $Array[$Loop+1])
{
echo "Access Permitted";
$Successful = true;
}
else if ($Successful == false)
{
echo "Access Denied";
}
}
?>
</body>
</html>
Обратите внимание, что обе программы должны давать один и тот же результат.Есть ли возможное решение этой проблемы, я не могу понять проблему.Любая помощь будет оценена.