douhe6181 2016-05-07 14:45
浏览 52

mysql记录和帖子记录相同但不相等

I´ve searched a lot but anything is not working for me.

I have a simple table in mysql:

id int 11                       //user id
log_meno varchar(255)           //user name
cmp_heslo varchar(255)          //user password

in this table i have one record:

id is 1
log_meno is kuki
cmp_heslo is 839512db1882dff3fcb596012982790870f6f06e   //it is hashed word kuki by sha1

than I have login form in 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>

and last i have login.php file

<?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])
{
        echo "logged";
}
else
{
    echo "<br>bad password";
}     

mysqli_close($Conn);


 ?>

my problem is that $row[cmp_heslo] and $cmp_heslo is same but when i do action login I have this result:

839512db1882dff3fcb596012982790870f6f06e 839512db1882dff3fcb596012982790870f6f06e bad password

why it is bad password i think that it should be logged. Sorry for my English and thank you for your answer

</div>
  • 写回答

2条回答 默认 最新

  • dongxiaoguang9108 2016-05-07 14:50
    关注

    Why don't you do:

    $sql = "SELECT cmp_heslo 
           FROM firmy 
           WHERE log_meno='$log_meno' AND cmp_heslo = '$cmp_heslo' ";
    
    if (mysqli_num_rows($result) > 0) { 
       echo "logged";
    }
    
    评论

报告相同问题?