0

私はこれと5時間戦ってきましたが、ログインスクリプトは何も返さなくなりました。最初は、間違った情報を持つ人々がログインすることを許可していました。いくつかの変更を加えたところ、正しいログイン情報を持つユーザーであっても、すべてのユーザーが拒否され始めました。パスワード条件を削除したところ、ユーザーが正しく取得されました。また、ユーザー名条件を再度削除してパスワード条件に置き換え、同じパスワードを持つすべてのユーザーを取得しましたが、両方の条件があるとnull、間違った、または正しい資格情報が返されます...

<?php
  include( '../config.php' );

  session_start();
  if( isset( $_POST['login'] ) ) {
    $username = $_POST['username'];
    $password = mysql_real_escape_string(stripslashes($_POST['password']));     
    $salt = "ghvhgcfchgvbhvgkhbh";
    echo $username.'<br>';
    try{
      $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
      $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
      $sql = "SELECT * FROM users WHERE username = :username And password = :password LIMIT 1";

      $stmt = $con->prepare( $sql );
      $stmt->bindValue( "username", $username, PDO::PARAM_STR );
      $stmt->bindValue( "password", hash("sha256", $password . $salt), PDO::PARAM_STR );
      $stmt->execute();

      $valid = $stmt->fetch();
      echo '<br> it fetches'.$valid['username'];
      print_r($valid);
      $con = null;
      if( $valid ) {
        echo '<br> its valid';
        print_r($valid);
        $_SESSION['user'][0] = $valid['username'];
        if (isset( $_SESSION['errors'] )){unset($_SESSION['errors']);}
        //if(!empty($_SESSION['LogUrl'])){header("Location: ../{$_SESSION['LogUrl']}");}
        else{header("Location:   ../index.php"); }
      } else {
        $_SESSION['errors'] = 'AuthLogin';
        header("Location: AuthPage.php");
      }
    }
    catch (PDOException $e) {
      echo "chian ".$e->getMessage();
    }
  } else {
    echo 'Oops SeEye went blind!!!';
  }
?>

これは、パスワードが変更された場合に備えて、私も気付いていない登録スクリプトです...

<?php
   include( '../config.php' );
   //Include The Database Connection File 

   if( (isset( $_POST['register'] )) && empty($_SESSION['user']))//If a username has been submitted 
    {
     $username = $_POST['usernam'];//Some clean up :)
     $password = $_POST['password'];//Some clean up :)
     $salt = "ghvhgcfchgvbhvgkhbh";

   try{
     $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
     $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
     $sql = "SELECT * FROM users WHERE username='.$username.'";

     $stmt = $con->prepare( $sql );

     $stmt->execute();

     $row  = $stmt-> fetch();
     $con = null;
     if( !$row) {
             try {
                $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
                $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
                $sql = "INSERT INTO users(username, password, Date_Joined) 
                VALUES(:username, :password,   :Date_Joined)";

    $stmt = $con->prepare( $sql );
    $stmt->bindValue( "username", $username, PDO::PARAM_STR );
    $stmt->bindValue( "password", hash("sha256", $password . $salt), PDO::PARAM_STR );
    $stmt->bindValue( "Date_Joined", date("Y-m-d"), PDO::PARAM_STR );
    $stmt->execute();
    $con = null;
    session_start();
    $_SESSION['user'][0] = $_POST['usernam'];
    if (isset( $_SESSION['errors'] )){unset($_SESSION['errors']);}
      if(!empty($_SESSION['LogUrl'])){header("Location: {$_SESSION['LogUrl']}");}
       else{header("Location: ../index.php"); }
   }catch( PDOException $e ) {
      echo $e->getMessage();
    }
   }
    else
       {
         echo '0ops something went wrong';//No Record Found - Username is available 
       }
  }catch (PDOException $e) {
  echo $e->getMessage();
  }
 } else {
     echo 'Oops SeEye went blind!!!';
   }
 ?>

よろしくお願いします

4

0 に答える 0