Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mySql数据库和php登录_Php_Html_Mysql_Database_Session - Fatal编程技术网

mySql数据库和php登录

mySql数据库和php登录,php,html,mysql,database,session,Php,Html,Mysql,Database,Session,每当我点击表单中的登录按钮时,它会自动显示错误的用户名或密码?这些信息是从我的数据库中提取的,我正试图提取登录的号码和密码!这是我用来检查登录名的PHP代码我认为您在第行输入了密码变量: // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or di

每当我点击表单中的登录按钮时,它会自动显示错误的用户名或密码?这些信息是从我的数据库中提取的,我正试图提取登录的号码和密码!这是我用来检查登录名的PHP代码

我认为您在第行输入了密码变量:

// Connect to server and select databse.
    mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");

    // username and password sent from form 
    $number=$_POST['number']; 
    $password=$_POST['password']; 

    // To protect MySQL injection (more detail about MySQL injection)
    $number = stripslashes($number);
    $password = stripslashes($password);
    $number = mysql_real_escape_string($number);
    $password = mysql_real_escape_string($password);
    $password = hash('sha512', $password);
    $sql="SELECT * FROM $tbl_name WHERE number='$number' and password='$password'";
    $result=mysql_query($sql);

    // Mysql_num_row is counting table row
    $count=mysql_num_rows($result);


    // If result matched $myusername and $mypassword, table row must be 1 row
    if($count==1){
        session_start();
    $row=mysql_fetch_array($result);
    // Register $myusername, $mypassword and redirect to file "login_success.php"; 
    $_SESSION['firstname'] =$row['firstname'];
    $_SESSION['secondname'] =$row['secondname'];
    $_SESSION['email'] =$row['email'];
    $_SESSION['vote'] =$row['vote']; 

    $sow = $row['number'];
    header("location:User/User.php?id=$sow");
    }
    else {
        echo $error = "Wrong Username or Password";

    }
    ob_end_flush();
    ?>

$password=hash'sha512',$paassword

如果可以,你应该这样做。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO,您确实不应该在密码散列上使用自己的盐,并且您确实应该使用PHP来处理密码安全性。如果你使用的是低于5.5的PHP版本,你可以使用密码散列。我很好奇你对ob\u end\u flush的使用-是不是Sam@Jayblanchard有趣的是,我只是想说看这个,OP会转过来说他们在使用$password本能和/或经验秘密编辑。
$password = hash('sha512', $paassword);
                              ^--- see anything wrong here?