added login
This commit is contained in:
15
app/scripts/connection.php
Normal file
15
app/scripts/connection.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
$dbhost = "mysql";
|
||||
$dbuser = "grisu";
|
||||
$dbpass = "secret";
|
||||
$dbname = "ksp";
|
||||
|
||||
try {
|
||||
$con = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
|
||||
$con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
|
||||
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
} catch(PDOExeption $e) {
|
||||
print "Error!: " . $e->getMessage() . "<br/>";
|
||||
die();
|
||||
}
|
||||
@@ -1,5 +1,10 @@
|
||||
<?php
|
||||
|
||||
function handle_pdo_exception($e) {
|
||||
print "Error!: " . $e->getMessage() . "<br/>";
|
||||
die();
|
||||
}
|
||||
|
||||
function get_Station() {
|
||||
try {
|
||||
$dbh = new PDO('mysql:host=mysql;dbname=ksp', 'grisu', 'secret');
|
||||
@@ -8,9 +13,53 @@ function get_Station() {
|
||||
}
|
||||
$dbh = null;
|
||||
} catch(PDOException $e) {
|
||||
print "Error!: " . $e->getMessage() . "<br/>";
|
||||
die();
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
function check_user_id($con, $user_id) {
|
||||
try {
|
||||
$stmt = $con->prepare('SELECT user_id FROM users WHERE user_id = :user_id limit 1');
|
||||
$stmt->execute(['user_id' => $user_id]);
|
||||
|
||||
if($stmt) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function get_user_data_name($con, $user_name) {
|
||||
try {
|
||||
$stmt = $con->prepare('SELECT * FROM users WHERE user_name = :user_name limit 1');
|
||||
$stmt->execute(['user_name' => $user_name]);
|
||||
$stmt->setFetchMode(PDO::FETCH_ASSOC);
|
||||
return $stmt->fetch();
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function get_user_data_id($con, $user_id) {
|
||||
try {
|
||||
$stmt = $con->prepare('SELECT * FROM users WHERE user_id = :user_id limit 1');
|
||||
$stmt->execute(['user_id' => $user_id]);
|
||||
$stmt->setFetchMode(PDO::FETCH_ASSOC);
|
||||
return $stmt->fetch();
|
||||
} catch(PDOException $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
|
||||
function add_user($con, $username, $user_id, $user_group, $password, $salt) {
|
||||
try {
|
||||
$stmt = $con->prepare("INSERT INTO users (user_id, password, user_name, salt, user_group) VALUES (?, ?, ?, ?, ?)");
|
||||
$stmt->bind_param("sssss", $user_id, $password, $username, $salt, $user_group);
|
||||
$stmt->execute();
|
||||
} catch(PDOExeption $e) {
|
||||
handle_pdo_exception($e);
|
||||
}
|
||||
}
|
||||
34
app/scripts/functions.php
Normal file
34
app/scripts/functions.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
include("database_queries.php");
|
||||
|
||||
function check_login($con) {
|
||||
|
||||
if(isset($_SESSION['user_id'])) {
|
||||
|
||||
$id = $_SESSION['user_id'];
|
||||
if(check_user_id($con, $id)) {
|
||||
return get_user_data_id($con, $id);
|
||||
} else {
|
||||
header("Location: login.php");
|
||||
die;
|
||||
}
|
||||
} else {
|
||||
header("Location: login.php");
|
||||
die;
|
||||
}
|
||||
}
|
||||
|
||||
function generate_salt() {
|
||||
return substr(bin2hex(random_bytes(128)), 0, 128);
|
||||
}
|
||||
|
||||
function generate_user_id($username, $salt) {
|
||||
$uname = $username . $salt;
|
||||
return hash('sha3-512', $uname);
|
||||
}
|
||||
|
||||
function generate_password_hash($password, $salt) {
|
||||
$pword = $password . $salt;
|
||||
return hash('sha3-512', $pword);
|
||||
}
|
||||
Reference in New Issue
Block a user