我使用explode()將從文本文件讀取的字符串轉換爲數組,我使用該數組與用戶的輸入進行比較。php比較兩個密碼字符串
文本文件包含:
user#test //user= username test= password
當我嘗試使用STRCMP()返回-1,即使與
test||test
=-1
我打印輸出打印兩個字符串變量結果與:
if(isset($user_details[1])){
$user_details = explode('#', $user); // $user is text file
$passW = $_GET['password']; // input: "test"
$tesPW = user_details[1];
printf($passW."||".$testPW."=".strcmp($passW,$testPW));
}
你永遠不應該比較明文密碼。 http://php.net/manual/en/faq.passwords.php – zerkms 2015-02-09 21:35:07
您使用'printf'語句將所有內容打印在一行上,但它在兩行輸出。這告訴我'$ testPW'以換行符 – 2015-02-09 21:35:20
結尾嘗試使用'$ tesPW = trim(user_details [1]);' – 2015-02-09 21:44:47