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