2015-03-03 169 views
-3

我使用文本文件作爲我的「數據庫」。
我用它來搜索用戶。
我的問題是:它確實搜索名稱,它正在工作,但它不搜索密碼。
我知道這是混亂,但請看看我的代碼,它是understeand從文本文件中讀取內容時遇到問題

輕鬆很多PHP

<?php 
$file = fopen("msskladanj_login/admins.txt","r"); 
$name = "Jonathan"; 
$password = "Jon123"; 

while(!feof($file)){ 
    $array = explode("****",fgets($file)); 
    $file_name = $array[0]; 
    $file_password = $array[1]; 

    if($file_password == $password && $file_name == $name){ 
    echo "Wellcome: ".$file_name; 
    } 
} 
?> 

admins.txt

Jonathan****Jon123 
Arthur****arthur123 

我不知道什麼是問題,以及它們如何可能在它們不同時是不一樣的?

+0

使用$ array [0]作爲文件名。 – 2015-03-03 12:26:51

+1

明文密碼在文本文件..... baaaaad。即使是實踐運行 – DevDonkey 2015-03-03 12:29:19

+0

@MihirBhatt我編輯我的問題,抱歉:) – user3254754 2015-03-03 12:30:16

回答

0

你的文件密碼得到空白只是使用修剪。

<?php 
$file = fopen("msskladanj_login/admins.txt","r"); 
$name = "Jonathan"; 
$password = "Jon123"; 

while(!feof($file)){ 
    $array = explode("****",fgets($file)); 
    $file_name = $array[0]; 
    $file_password = $array[1]; 

    if(trim($file_password) == trim($password) && file_name == $name){ 
    echo "Wellcome: ".$file_name; 
    } 
} 
?> 
+0

感謝隊友,你真棒。 :) – user3254754 2015-03-03 19:54:51

0

您已使用相同的數組索引作爲密碼和名稱。嘗試這個。

<?php 
    $file = fopen("msskladanj_login/admins.txt","r"); 
    $name = "Jonathan"; 
    $password = "Jon123"; 

    while(!feof($file)){ 
     $array = explode("****",fgets($file)); 
     $file_name = $array[0]; 
     $file_password = $array[1]; 

     if($file_name == $name){ 
     echo "Wellcome: ".$file_name; 
     } 
    } 
    ?> 
+0

我編輯我的問題... – user3254754 2015-03-03 12:29:19

0

你在這裏

if($file_password == $password && file_name == $name){ 

另一錯字應該是$ FILE_NAME。 如果這沒有解決它嘗試回聲的文件名和密碼之前,如果聲明每一行,並可能你會發現德差

+0

我想,和回聲結果是一樣的,但它仍然沒有工作... – user3254754 2015-03-03 12:46:38

+0

也儘量呼應計數($ file_password)和計數($密碼) – Szaby 2015-03-03 12:56:50

相關問題