1
当我执行此代码时用户是正确的,但通行证不是,为什么?这让我疯狂。比较字符串不起作用php
<?php
$user = $_POST['myusername'];
$pass = $_POST['mypassword'];
$file_handle = fopen("db.txt", "rb");
while (!feof($file_handle)){
$line_of_text = fgets($file_handle);
$parts = explode('=', $line_of_text);
if($parts[0] == $user){
echo $parts[0];
}
if($parts[1] == $pass){
echo $parts[1];
}
}
fclose($file_handle);
?>
越来越空白请问您的文件都在该行的最后一回?如果是这样,那么fgets()也会读取它,它将成为$ parts [1]中的一个字符。测试应该是if(trim($ parts [1])== $ pass){ –
后代示例数据失败并显示代码。 – lanzz
除非你只是为了学习的目的而这样做,否则你应该考虑使用数据库来代替平面文件!除此之外,如果文件不是太大(它会一次加载到内存中),您可以快速遍历这些行:'foreach(file('db.txt')as $ line)' – ThiefMaster