I have login system using MVC Pattern, though it's still procedural, and it's been 4 hours and doesn't get to work. It keeps executing the very last 'else' statement, which is redirect back to login.php. This is my code
Login Page:
<?php include 'view/template/header.php' ?>
<div class="container">
<div class="row">
<div class="col-lg-6 col-lg-offset-3">
<div class="login-style">
<h2>Silahkan Login</h2>
<form action="controller/controller-login-admin.php" method="POST">
<div class="form-group">
<label for="username">Username:</label>
<input type="text" name="username" class="form-control" id="username">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" name="password" class="form-control" id="pwd">
</div>
<button type="submit" name="submit-admin-login" class="btn btn-primary">Submit</button>
</form>
</div>
</div>
</div>
</div>
<?php include 'view/template/footer.php' ?>
Controller
<?php
require_once $_SERVER['DOCUMENT_ROOT']. '/project-school-frontend/admin/model/admin-model-master.php';
if (isset($_POST['submit-admin-login'])){
$username=mysqli_real_escape_string($koneksi, $_POST['username']);
$password=mysqli_real_escape_string($koneksi, md5($_POST['password']));
loginUser($username, $password);
}
(Controller works fine)
Model:
<?php
require_once $_SERVER['DOCUMENT_ROOT']. '/project-school-frontend/config/database.php';
function loginUser($username, $password){
global $koneksi;
if (empty($username) && !empty($password))
{
$_SESSION['pesan'] = 'Userid harus diisi';
$_SESSION['alert'] = 'info';
header('location:../login.php');
}
elseif (empty($password) && !empty($username))
{
$_SESSION['pesan'] = 'Password harus diisi';
$_SESSION['alert'] = 'info';
header('location:../login.php');
}
elseif (empty($username && $password))
{
$_SESSION['pesan'] = 'Userid dan password wajib diisi';
$_SESSION['alert'] = 'info';
header('location:../login.php');
}
else
{
$sql= "SELECT * FROM admin WHERE username='$username' AND password='$password'";
$query= mysqli_query($koneksi, $sql);
$result= mysqli_num_rows($query);
$row = mysqli_fetch_array($query);
if($result > 0)
{
session_start();
$_SESSION['username']=$row['username'];
$_SESSION['level'] = $row['level'];
header('Location: ../view/admin-dashboard.php');
}
else
{
header('Location: ../login.php');
}
}
}
(this how it starts. The model)
What do I do?