登录失败。代码不';t从phpmyadmin窃取用户名密码

登录失败。代码不';t从phpmyadmin窃取用户名密码,php,mysql,login,phpmyadmin,Php,Mysql,Login,Phpmyadmin,Wampserver。在phpmyadmin中,我添加了users db和user_数据表。但是我的代码不起作用 <?php include_once("sql_connect.php"); session_start(); $_SESSION['currentuser']=$_POST['usernameinput']; $uname = $_POST['usernameinput']; $pass = $

Wampserver。在phpmyadmin中,我添加了users db和user_数据表。但是我的代码不起作用

<?php 

        include_once("sql_connect.php"); 
        session_start();
    $_SESSION['currentuser']=$_POST['usernameinput'];
         $uname = $_POST['usernameinput'];
         $pass = $_POST['passwordinput'];

         $sql = "SELECT * FROM 'user_data' WHERE(
         username='".$uname."' and  password='".$pass."')";
          $query = mysql_query($sql);

          $result = mysql_fetch_array($query);

          if($result[0]>0)
          {
          header ("location: Ghome.php");
          }
          else
          {
          header ("Location: loginform_er_incorrectlogpass.php");
          }
    ?>
替换此

$query = mysql_query($sql) 
有以下几点

$query = mysql_query($sql) or die(mysql_error()); 

并查看出现了什么错误要解决当前问题,请删除表名周围的引号,并习惯使用反勾号

SELECT * FROM `user_data` ...
不是这个:

SELECT * FROM 'user_data' ...
(从技术上讲,这里甚至不需要回勾,但使用回勾是一种很好的做法,它将有助于捕捉各种打字错误。)

一些额外的提示:

  • 从不将密码存储为纯文本;这是非常糟糕的安全做法。使用散列和盐渍。具体来说,使用bcrypt
  • 请;
    mysql.*
    函数已经过时,而且不安全。使用或代替
  • 你对我敞开心扉
您在sql中的表名周围使用了单引号,这是错误的-您应该改为使用反勾号。此外,没有检查已发布的变量。理想情况下,为了避免将来的心痛,可以考虑迁移使用mysqli或PDO。至少尝试对提供的POST数据进行一些基本过滤

<?php 
    session_start();
    include_once("sql_connect.php"); 

    if( isset( $_POST['usernameinput'] ) && isset( $_POST['passwordinput'] ) ){
        $uname = mysql_real_escape_string( $_POST['usernameinput'] );
        $pass = mysql_real_escape_string( $_POST['passwordinput'] );
        $_SESSION['currentuser']=$uname;

        $sql = "SELECT * FROM `user_data` WHERE `username`='".$uname."' and  `password`='".$pass."';";
        $query = mysql_query( $sql );

        $result = mysql_fetch_array( $query );
        header('location: ' .( $result[0]>0 ) ? 'Ghome.php' : 'loginform_er_incorrectlogpass.php' );
    }
?>

您真的在数据库中以明文形式存储密码吗?不要那样做!你说“不行”是什么意思?什么是错误消息,什么是测试数据,等等?您应该提供更多信息以获得答案。(!)解析错误:语法错误,意外的“$result”(T_变量)$result=mysql_fetch_数组($qury);
<?php 
    session_start();
    include_once("sql_connect.php"); 

    if( isset( $_POST['usernameinput'] ) && isset( $_POST['passwordinput'] ) ){
        $uname = mysql_real_escape_string( $_POST['usernameinput'] );
        $pass = mysql_real_escape_string( $_POST['passwordinput'] );
        $_SESSION['currentuser']=$uname;

        $sql = "SELECT * FROM `user_data` WHERE `username`='".$uname."' and  `password`='".$pass."';";
        $query = mysql_query( $sql );

        $result = mysql_fetch_array( $query );
        header('location: ' .( $result[0]>0 ) ? 'Ghome.php' : 'loginform_er_incorrectlogpass.php' );
    }
?>