我有一个Account.txt文件,其中包含有关电子邮件和密码的信息,如
Email01|Password01 Email02|Password02 ... EmailN|PasswordN
我读了这个文件并存储到数组
<?php
$myFile = fopen("Account.txt","r") or die("Unable to open file!");
//An array for the key of data
$keyData = array('Email','Password');
// Array store all data
$allAccountData = array();
while(!feof($myFile)) {
$line = fgets($myFile);
$dataValue = explode('|', $line);
$accountData = array_combine($keyData, $dataValue);
array_push($allAccountData, $accountData);
}
fclose($myFile);
?>
我检查了表单中的输入数据,如
<?php
if(empty($user_login))
include "form-register.php";
else {
$flag = false;
foreach($allAccountData as $key=>$value) {
if($value['Email'] == $user_login and $value['Password'] == $user_password) {
$flag = true;
break;
}
}
if ($flag == true) {
echo "<p align = 'center'> <strong> Welcome ".$user_login." to facebook!</strong>"."<br>";
echo "Click <a href='index.php'> here to logout </p>";
}
else {
echo "<p align = 'center' <strong> Sorry your login information is wrong!</strong>"."<br>";
echo "Click <a href='index.php'> here to login again </p>";
}
}
?>
我想知道为什么结果$flag = true
仅返回最后一行EmailN|PasswordN
并返回false
其他行,无论输入是否正确,并且
有什么好方法可以存储从文件中读取的数据,除了使用Array。
抱歉,我的英语不好,非常感谢你们!