So, my groupmate designed the look of our website...I was trying to integrate it with the other code....I decided to first do the login form....i dont know but I cant get it to work...-_-
1. lets start from the config.php:
<?php
ob_start();
session_start();
include('functions.php');
//database credentials
define('DBHOST','localhost');
define('DBUSER','root');
define('DBPASS','');
define('DBNAME','sics');
$db = new PDO("mysql:host=localhost; dbname=".DBNAME, DBUSER, DBPASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//set timezone
date_default_timezone_set('Europe/London');
//load classes as needed
function __autoload($class) {
$class = strtolower($class);
//if call from within assets adjust the path
$classpath = 'classes/class.'.$class . '.php';
if ( file_exists($classpath)) {
require_once $classpath;
}
//if call from within admin adjust the path
$classpath = '../classes/class.'.$class . '.php';
if ( file_exists($classpath)) {
require_once $classpath;
}
//if call from within admin adjust the path
$classpath = '../../classes/class.'.$class . '.php';
if ( file_exists($classpath)) {
require_once $classpath;
}
}
$user = new User($db);
?>
heres the class.user.php:
<?php
include('class.password.php');
class User extends Password{
private $db; function __construct($db){ parent::__construct(); $this->_db = $db; } public function is_logged_in(){ if(isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true){ return true; } } private function get_user_hash($id){ try { $stmt = $this->_db->prepare('SELECT password FROM members WHERE idNUMBER = :id'); $stmt->execute(array('id' => $id)); $row = $stmt->fetch(); return $row['password']; } catch(PDOException $e) { echo '<p class="error">'.$e->getMessage().'</p>'; } } public function login($id,$password){ $hashed = $this->get_user_hash($id); if($this->password_verify($password,$hashed) == 1){ $_SESSION['loggedin'] = true; return true; } } public function logout(){ session_destroy(); }
}
?>
Login.php:
<?php include('../includes/config.php');
//check if already logged in
if( $user->is_logged_in() ){ header('Location: /users/MainPanel.php'); } ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="../img/logor2.png"><title>SICS | Log-in</title> <!-- Bootstrap core CSS --> <link rel="stylesheet" href="../css/bootstrap.css"> <link rel="stylesheet" href="../css/sticky-footer-navbar.css"> <link rel="stylesheet" href="../css/bootflat.css"> <link rel="stylesheet" href="../css/login.css">
</head>
<body>
<!-- NAVIGATION -->
<?php include_once("../includes/navbar.php"); ?><!--CONTENT--> <div class="container"> </br> <div class="col-md-4 col-md-offset-4 area"> <form role="form" method="post"> </br> </br> </br> </br> </br> <div class="form-group login-only"> <i class="login-icon glyphicon glyphicon-user"></i> <input type="text" class="form-control" placeholder="ID Number" name="idnumber"> </div> <div class="form-group login-only"> <i class="login-icon glyphicon glyphicon-asterisk"></i> <input type="password" class="form-control" placeholder="Password" name="password"> </div> <button type="submit" class="btn btn-primary btn-lg col-md-offset" name="submit">Log-in</button> <?php include_once('../includes/submitlogin.php'); ?> </form> </div> </div> <!-- FOOTER --> <?php include_once('../includes/footer.php');?> <!-- Bootstrap core JavaScript ================================================== --> <!-- Placed at the end of the document so the pages load faster --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="../js/bootstrap.min.js"></script> <!-- Bootflat js files --> <!-- Bootflat's JS files.--> <script src="../js/icheck.min.js"></script> <script src="../js/jquery.fs.selecter.min.js"></script> <script src="../js/jquery.fs.stepper.min.js"></script>
</body>
</html>
SubmitLogin:
<?php
//process login form if submitted
if(isset($_POST['submit'])){$id = $_POST['idnumber']; $password = $_POST['password']; if($user->login($id,$password)){ //logged in return to MainPanel page $_SESSION['idnumber']=$id; header('Location: ../users/MainPanel.php'); exit; } else { $message = '<p class="error">Wrong ID Number or Password</p>'; }
}//end if submit
if(isset($message)){ echo $message; }
?>Where the admin will be rediected when logged in:
<?php require_once('../includes/config.php');
if( !$user->is_logged_in() ){ header('Location: ../users/login.php'); } ?>
?>
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../img/logor2.png"><title>SICS | Admin</title> <!-- Bootstrap core CSS --> <link href="../css/bootstrap.css" rel="stylesheet"> <link href="../css/simple-sidebar.css" rel="stylesheet"> <link rel="stylesheet" href="../css/bootflat.css"> <style type="text/css"> body { background-color: #FFCCFF; } .area { border: none; border-radius: 4px; background-color: white; -webkit-box-shadow: 0 0px 0px rgba(0, 0, 0, .2); -moz-box-shadow: 0 0px 0px rgba(0, 0, 0, .2); box-shadow: 0 0px 0px rgba(0, 0, 0, .2); padding: 8px; } .content-area { border: solid 2px #FFCCFF; border-radius: 4px; background-color: none; -webkit-box-shadow: 0 0px 0px rgba(0, 0, 0, .2); -moz-box-shadow: 0 0px 0px rgba(0, 0, 0, .2); box-shadow: 0 0px 0px rgba(0, 0, 0, .2); padding: 8px; } .breadcrumb { background-color: white; } </style>
</head>
<body>
<div id="wrapper"> <!-- Sidebar --> <div id="sidebar-wrapper"> <ul class="sidebar-nav"> <?php $query = 'SELECT roleID from members where idNUMBER="'.$_SESSION['idnumber'].'"'; try { $pdoStatement = $db->query($query); } catch (PDOException $exception) { // the query failed and debugging is enabled echo "<p>There was an error in query: $query</p>"; echo $exception->getMessage(); $pdoStatement = false; } if ($pdoStatement) { // the query was successful // get the result (if any) // fetchObject returns FALSE if there is no record if ($recordObj = $pdoStatement->fetchObject()) { $role=$recordObj->roleID; if ($role == 1) { echo "<li class='text-center'><a href='#'><h4>ADMIN PANEL</h4></a></li></br> <li class='text-center'><a href='adminpanel.html'><img src='../img/mainpanel.png'></a></li></br> <li class='text-center'><a href='categories.html'><img src='../img/categories.png'></a></li></br> <li class='text-center'><a href='users.html'><img src='../img/users.png'></a></li></br> <li class='text-center'><a href='index.html'><img src='../img/web.png'></a></li></br> <li class='text-center'><a href='#'><img src='../img/photogallery.png'></a></li></br> <li class='text-center'><a href='logout.php'><img src='../img/logout.png'></a></li>"; } elseif ($role == 2) { echo "<h1>Welcome SICS Faculty!</h1> <ul id='adminmenu'> <li><a href='index.php'>Main Panel</a></li> <li><a href='categories.php'>Categories</a></li> <li><a href='/CapstoneProject/home.php'>Department Website</a></li> <li><a href='logout.php'>Logout</a></li> </ul> <div class='clear'></div> <hr />"; } elseif ($role == 3) { header('Location: /CapstoneProject/home.php'); } } }
$adminpanel=$role;
$_SESSION['adminpanel']=$adminpanel;?>
</ul> </div> <!-- Page content --> <div id="page-content-wrapper"> <div class="page-content inset"> <div id="content" class="container"> <div class="row"> <div class="col-md-11"> <ol class="breadcrumb breadcrumb-arrow"> <li class="active"><a href="#">Main Panel</a></li> </ol> </div> </div> <div class="row"> <div class="col-md-11 area"> <div class="col-md-6 content-area"> <h4 class="text-center">POSTS</h4> </div> <div class="col-md-2 col-md-offset-1 content-area"> <h4 class="text-center">DATE</h4> </div> <div class="col-md-2 col-md-offset-1 content-area"> <h4 class="text-center">ACTION</h4> </div> </div> </div> <div class="row"> <div class="col-md-11 area"> <div class="col-md-6 content-area"> <p class="text-center">Post Title 1</p> <p class="text-center">Post Title 1</p> <p class="text-center">Post Title 1</p> <p class="text-center">Post Title 1</p> <p class="text-center">Post Title 1</p> <p class="text-center">Post Title 1</p> <p class="text-center">Post Title 1</p> </div> <div class="col-md-2 col-md-offset-1 content-area"> <p class="text-center">ddth mmm yyyy</p> <p class="text-center">ddth mmm yyyy</p> <p class="text-center">ddth mmm yyyy</p> <p class="text-center">ddth mmm yyyy</p> <p class="text-center">ddth mmm yyyy</p> <p class="text-center">ddth mmm yyyy</p> <p class="text-center">ddth mmm yyyy</p> </div> <div class="col-md-2 col-md-offset-1 content-area"> <p class="text-center"><a href="edit-post.html">Edit</a> | <a href="">Delete</a></p> <p class="text-center"><a href="edit-post.html">Edit</a> | <a href="">Delete</a></p> <p class="text-center"><a href="edit-post.html">Edit</a> | <a href="">Delete</a></p> <p class="text-center"><a href="edit-post.html">Edit</a> | <a href="">Delete</a></p> <p class="text-center"><a href="edit-post.html">Edit</a> | <a href="">Delete</a></p> <p class="text-center"><a href="edit-post.html">Edit</a> | <a href="">Delete</a></p> <p class="text-center"><a href="edit-post.html">Edit</a> | <a href="">Delete</a></p> </div> </div> </div> <div class="row"> <div class="col-md-2"> </br> </br> <a href="add-post.html"><button type="button" class="btn btn-primary btn-lg col-md-offset-1">+ New Post</button></a> </div> </div> </div> </div><!-- content --> </div> </div><!--page-content-wrapper--> </div> <!-- JavaScript --> <script src="js/jquery-1.10.2.js"></script> <script src="js/bootstrap.js"></script> <script src="js/icheck.min.js"></script> <script src="js/jquery.fs.selecter.min.js"></script> <script src="js/jquery.fs.stepper.min.js"></script> <!-- Custom JavaScript for the Menu Toggle --> <script> $("#menu-toggle").click(function(e) { e.preventDefault(); $("#wrapper").toggleClass("active"); }); </script>
</body>
</html>