PHP не удалось войти в систему и сеанс - PullRequest
0 голосов
/ 07 июня 2018

, поэтому мой код ниже всегда не мог войти в систему, он прошел через метод проверки, но он всегда приводит к ошибка входа в части if else.что-то не так с моим кодом?я не знаю, почему мой код работает для регистрации, но не удалось выполнить вход для страницы входа

 <?php
require_once "core/init.php";

  $errors = array();

if( Input::get('submit')){

  //1. call object
$validation = new Validation();

  //2. check method
  $validation = $validation->check(array(
    'username' => array( 'required' => true),
    'password' => array( 'required' => true)
  ));

  //3. passed Validation
  if($validation->passed() ){

  if($admin->login_admin( Input::get('username'),Input::get('password') ) )
  {
    Session::set('username', Input::get('username'));
    header('Location: adminindex.php');
   }else{
     $errors[] = "login failed";

   }

  }else {
    $errors = $validation->errors();
  }
}

require_once "templates/header.php";
 ?>

<form class="" action="login2.php" method="post">

  <label>ID Admin</label>
  <input type="text" name="username">

  <label>Password</label>
  <input type="password" name="password">

    <?php if(!empty($errors)){ ?>
      <div id="errors">
        <?php foreach ($errors as $error) { ?>
          <li><?php echo $error; ?></li>
    <?php    } ?>
      </div>
    <?php } ?>

  <input type="submit" name="submit" value="Log In">

</form>

<?php
require_once "templates/footer.php";
?>

это код для функции login_admin

public function login_admin($username, $password){

    $data = $this->_db->get_info('admin', 'username', $username);
    // print_r($data);
    // die();

    if( password_verify($password, $data['password']) )
      return true;
      else return false;
}

и это код для функции получения информации

 public function get_info($table, $column, $value){

    if(!is_int($value))
      $value = "'" .$value. "'";

    $query = "SELECT * FROM $table WHERE $column = $value";
    $result = $this->conn->query($query);

    while($row = $result->fetch_assoc()){
      return $row;
    }
  }

У меня также есть похожая страница для страницы регистрации, но мне удалось установить сеанс и перенаправить меня на нужную мне страницу

<?php
require_once "core/init.php";

  $errors = array();

if( Input::get('submit')){

  //1. memanggil objek validasi
$validation = new Validation();
  //2. metode check
  $validation = $validation->check(array(
    'username' => array(
                          'required' => true,
                          'minimal' => 5,
                          'maximal' => 20,
                        ),
    'password' => array(
                      'required' => true,
                      'minimal' => 5,
                    ),
    'division' => array(
                      'required' => true,
                    )
  ));
  //3. passed Validation
  if($validation->passed() ){
  $admin->register_admin(array(
    'username' => Input::get('username'),
    'password' => password_hash(Input::get('password'), PASSWORD_DEFAULT),
    'division' => Input::get('div')
  ));

    Session::set('username', Input::get('username'));
    header('Location: adminindex.php');

  }else {
    $errors = $validation->errors();
  }
}

require_once "templates/header.php";
 ?>

<form class="" action="registeradmin.php" method="post">

  <label>ID Admin</label>
  <input type="text" name="username">

  <label>Password</label>
  <input type="password" name="password">

  <label>division</label>
  <input type="text" name="div">

    <?php if(!empty($errors)){ ?>
      <div id="errors">
        <?php foreach ($errors as $error) { ?>
          <li><?php echo $error; ?></li>
    <?php    } ?>
      </div>
    <?php } ?>

  <input type="submit" name="submit" value="add Admin">

</form>

<?php
require_once "templates/footer.php";
 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...