我正在让用户输入用户名,并将其与保存用户名的现有文件进行比较。 出于某种原因,我从未得到真实的结果(我禁用了非真实的功能以尝试调试)
这是我正在处理的php部分。
if (count($_POST))
{
$username = $_POST['username'];
$accessData = file('[path to users txt file].txt',
FILE_IGNORE_NEW_LINES);
print_r($accessData);
print_r($username);
if (array_key_exists($username, $accessData)) {
header("Location: /[got page 1].html");
} else {
//echo "Invalid Username";
//header("Location: /goto page 2].php");
}
}
?>
所以从2 print_r我得到(测试值)。
Array ( [0] => 1111111 [1] => 2222222 [2] => 3333333 [3] => 4444444 [4] => 55555555 ) 2222222
最后一个元素(2222222)之后的值是输入的用户名。 那么,为什么我从来没有得到真正的条件,而没有直接转到第1页?
答案 0 :(得分:3)
array_key_exists
用于确定数组键是否存在,而不是数组中是否有值。
您想要in_array