2016-05-07 15 views
0

私は多くを検索しましたが、何かが私のために働いていません。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 悪いパスワード

それが悪い理由パスワード私はそれが記録されるべきだと思う。私の英語のため申し訳ありませんが、あなたがそうしていないのはなぜあなたの答え

+0

'echo'の代わりに' var_dump'を使用してください。変数の長さを確認してください。おそらく1つは先行/後続のスペースを持っています。あなたのインデックスも '$ row ['cmp_heslo']'で引用する必要があります。 – chris85

答えて

0

いただきありがとうございます。私の問題を解決しましたが、私はページをリロードしたときに、私はcan'tすべて、I've見答えに

$sql = "SELECT cmp_heslo 
     FROM firmy 
     WHERE log_meno='$log_meno' AND cmp_heslo = '$cmp_heslo' "; 

if (mysqli_num_rows($result) > 0) { 
    echo "logged"; 
} 
0

感謝をもう答えを見てください。しかし、その答えは私のif elseループをwhileループに置くことでした。どうもありがとうございました。

+0

あなたは@ jbrya029の回答を参照しますが、彼は1時間前にそれを削除しました。 –

関連する問題