私は多くを検索しましたが、何かが私のために働いていません。mysqlレコードとポストレコードは同じですが同じではありません
私はMySQLでの単純なテーブルがあります:私はHTMLで
<form action="login.php" method="post">
<tr><td>Prihlasovacie meno: </td><td><input type="text" name="login_name" ></td></tr>
<tr><td>Heslo: </td><td><input type="password" name="login_password"></td></tr>
<tr><td colspan="2"><input type="submit" value="Prihlásiť"></td></tr>
<tr><td colspan="2"><a href="#">Zabudnuté heslo</a></td></tr>
</form>
id is 1
log_meno is kuki
cmp_heslo is 839512db1882dff3fcb596012982790870f6f06e //it is hashed word kuki by sha1
:私は1つのレコードを持って、このテーブルに
id int 11 //user id
log_meno varchar(255) //user name
cmp_heslo varchar(255) //user password
を
と最後の私はlogin.phpファイルしている
<?php
include ('conn.php');
//Uzivatelsky vstup
$log_meno = mysqli_real_escape_string ($Conn, $_POST['login_name']);
$cmp_heslo = sha1($_POST['login_password']);
$sql = "SELECT cmp_heslo FROM firmy WHERE log_meno='$log_meno'";
$result = mysqli_query($Conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row=mysqli_fetch_assoc($result)) {
echo "$row[cmp_heslo]<br>$cmp_heslo";
}
} else {
echo "0 results";
}
if ($cmp_heslo == $row[cmp_heslo])
{
\t \t echo "logged";
}
else
{
\t echo "<br>bad password";
}
mysqli_close($Conn);
?>
私の問題である$行[cmp_heslo]と$ cmp_hesloは同じですが、私はアクションログインを行うとき、私はこの結果を持っている:
839512db1882dff3fcb596012982790870f6f06e 839512db1882dff3fcb596012982790870f6f06e 悪いパスワード
それが悪い理由パスワード私はそれが記録されるべきだと思う。私の英語のため申し訳ありませんが、あなたがそうしていないのはなぜあなたの答え
'echo'の代わりに' var_dump'を使用してください。変数の長さを確認してください。おそらく1つは先行/後続のスペースを持っています。あなたのインデックスも '$ row ['cmp_heslo']'で引用する必要があります。 – chris85