【发布时间】:2015-02-09 21:33:16
【问题描述】:
我正在使用explode() 将从文本文件中读取的字符串转换为一个数组,用于与用户的输入进行比较。
文本文件包含:
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));
}
【问题讨论】:
-
您永远不应该比较明文密码。 php.net/manual/en/faq.passwords.php
-
您使用
printf语句在一行上打印所有内容,但它在两行上输出。这告诉我$testPW以换行符结尾 -
尝试使用
$tesPW = trim(user_details[1]); -
@Devin_Kinh 你有预付款吗?
-
@Devin_Kinh 你解决了你的问题?不要忘记检查一个答案是否正确。