The following files exists in this folder. Click to view.
home.php261 lines UTF-8 Unix (LF) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
<?php
session_start();
include('check_login.php');
$file_in = "accounts/".$_SESSION['user'] . $_SESSION['userid'].".json";
$userfile = json_decode(file_get_contents($file_in), true);
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LBMBanking</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
</head>
<body>
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand ms-0 ms-lg-4" href="#">LBM Banking</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="home.php">Home</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" aria-disabled="true">Accounts</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" aria-disabled="true">Transfer</a>
</li>
</ul>
<ul class="navbar-nav me-4 mb-2 mb-lg-0">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Menu
</a>
<ul class="dropdown-menu dropdown-menu-end">
<li><span class="dropdown-item-text">Logged in as: <?php if(isset($_SESSION['user'])){echo $_SESSION['user'];}?></span></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="logout.php?action=logout">Logout</a></li>
<?php
if(isset($_COOKIE['remember'])){
echo'<li><a class="dropdown-item" href="logout.php?action=cookie">Forget login</a></li>';
}
?>
<li><a class="dropdown-item" href="password_form.php">Change password</a></li>
<li><a class="dropdown-item" href="delete_user_form.php">Delete user</a></li>
</ul>
</li>
</ul>
</div>
</nav>
<?php
echo'<div class="container-fluid">';
if(isset($_GET['openaccount'])){ //Ifall ett konto öppnas
$transactions = $userfile["accounts"][$_GET['openaccount']]["transactions"];
$accountname = $userfile["accounts"][$_GET['openaccount']]["name"];
$balance = 0;
for($i = 0; $i <= (count($transactions)-1); $i+=3){
$balance += $transactions[$i+2];
}
echo'<div class="row justify-content-center pb-3 pt-5">
<div class="col-3 pt-3">
<h2 class="fw-bold text-success">'.$accountname.'</h2>
</div>
<div class="col-5">
<div class="row justify-content-end">
<div class="col-auto pt-3 text-success">
<a class="btn btn-success" href="?action=withdraw&name='.$accountname.'" role="button">Withdraw</a>
</div>
<div class="col-auto pt-3 text-success">
<a class="btn btn-success" href="?action=deposit&name='.$accountname.'" role="button">Deposit</a>
</div>
<div class="col-auto pt-3 text-success">
<a class="btn btn-success" href="?action=transfer&name='.$accountname.'" role="button">Transfer</a>
</div>
</div>
</div>
</div>';
echo'<div class="row justify-content-center pb-3">
<div class="col-8 border rounded pt-3 pb-2">
<h3 class="fw-bold text-success">Balance: '.$balance.'</h3>
</div>';
echo'</div>';
echo'<div class="row justify-content-center">
<div class="col-8 border rounded py-2">
<table class="table">
<thead>
<tr>
<th scope="col">Transactions</th>
<th scope="col">Transaction date</th>
<th scope="col">Amount</th>
<th scope="col">Balance</th>
</tr>
</thead>
<tbody>';
for($i = (count($transactions)-1); $i >= 0; $i-=3){ //Visar alla transaktioner
if($transactions[$i]!=0){
echo"<tr>
<td>".$transactions[$i-2]."</td>
<td>".$transactions[$i-1]."</td>
<td>".$transactions[$i]."</td>
<td>".$balance."</td>
</tr>";
$balance -= $transactions[$i];
}
}
echo' </tbody>
</table>
</div>
</div>';
}
else if(isset($_GET['action'])){ //Alla olika typer av transaktions formulär
switch($_GET['action']){
case $_GET['action'] == 'withdraw' || $_GET['action'] == 'deposit': //Withdraw/Deposit
echo'<div class="row justify-content-center py-5">
<form class="col-md-4 p-4 border border-success-subtle rounded" action="transfer.php" method="POST">
<select class="form-select mb-3" aria-label="Default select example" name="type">
<option value="withdraw" ';if($_GET['action']=='withdraw'){echo'selected';}echo'>Withdraw</option>
<option value="deposit" ';if($_GET['action']=='deposit'){echo'selected';}echo'>Deposit</option>
</select>
<select class="form-select mb-3" aria-label="Default select example" name="account">
';
foreach($userfile['accounts'] as $a){
$balance = 0;
$transactions = $a['transactions'];
for($i = 0; $i <= (count($transactions)-1); $i+=3){
$balance += $transactions[$i+2];
}
echo'<option value="'.$a['name'].'"';if(isset($_GET['name']) && $_GET['name']==$a['name']){echo'selected';}echo'>'.$a['name'].' ('.$balance.')</option>';
}
echo'
</select>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Amount</label>
<input type="text" class="form-control" id="exampleInputPassword1" name="amount" required>
</div>
<button type="submit" class="btn btn-success mb-2">Accept</button>
<p><a class="link-success link-underline-opacity-50 link-underline-opacity-75-hover" href="home.php">Cancel</a></p>
</form>
</div>
';
break;
case 'transfer': //Transfer
echo'<div class="row justify-content-center py-5">
<form class="col-md-4 p-4 border border-success-subtle rounded" action="transfer.php" method="POST">
<div class="mb-3">
<label for="exampleInputPassword3" class="form-label">From</label>
<select class="form-select" id="exampleInputPassword3" aria-label="Default select example" name="account1">
';
foreach($userfile['accounts'] as $a){
$balance = 0;
$transactions = $a['transactions'];
for($i = 0; $i <= (count($transactions)-1); $i+=3){
$balance += $transactions[$i+2];
}
echo'<option value="'.$a['name'].'"';if(isset($_GET['name']) && $_GET['name']==$a['name']){echo'selected';}echo'>'.$a['name'].' ('.$balance.')</option>';
}
echo'
</select>
</div>
<div class="mb-3">
<label for="exampleInputPassword4" class="form-label">To</label>
<select class="form-select" id="exampleInputPassword4" aria-label="Default select example" name="account2">
';
foreach($userfile['accounts'] as $a){
$balance = 0;
$transactions = $a['transactions'];
for($i = 0; $i <= (count($transactions)-1); $i+=3){
$balance += $transactions[$i+2];
}
echo'<option value="'.$a['name'].'"';if($a == 0){echo'selected';}echo'>'.$a['name'].' ('.$balance.')</option>';
}
echo'
</select>
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Amount</label>
<input type="text" class="form-control" id="exampleInputPassword1" name="amount" required>
</div>
<button type="submit" class="btn btn-success mb-2">Accept</button>
<p><a class="link-success link-underline-opacity-50 link-underline-opacity-75-hover" href="home.php">Cancel</a></p>
</form>
</div>
';
break;
case 'create_account': //Skapa konto
echo'<div class="row justify-content-center py-5">
<form class="col-md-4 p-4 border border-success-subtle rounded" action="skapa_konto.php" method="POST">
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Account name</label>
<input type="text" class="form-control" id="exampleInputPassword1" name="name" required>
</div>
<button type="submit" class="btn btn-success mb-2">Create account</button>
<p><a class="link-success link-underline-opacity-50 link-underline-opacity-75-hover" href="home.php">Cancel</a></p>
</form>
</div>
';
break;
}
}
else{ //Hemskärmen man kommer till som inloggad
echo'<div class="row text-center pt-5">
<div class="col"><h1 class="fw-bold text-success">Welcome!</h1></div>
</div>';
echo'<div class="row justify-content-center pb-2 pt-5">
<div class="col-auto pt-3 text-success">
<a class="btn btn-success" href="?action=withdraw" role="button">Withdraw</a>
</div>
<div class="col-auto pt-3 text-success">
<a class="btn btn-success" href="?action=deposit" role="button">Deposit</a>
</div>
<div class="col-auto pt-3 text-success">
<a class="btn btn-success" href="?action=transfer" role="button">Transfer</a>
</div>
<div class="col-auto pt-3 text-success">
<a class="btn btn-success" href="?action=create_account" role="button">Create account</a>
</div>
</div>';
echo'<div class="row justify-content-center pb-2 pt-5">
<div class="col-8 pt-3">
<h2 class="fw-bold text-success">Your accounts</h2>
</div>
</div>';
echo'<div class="row justify-content-center">
<div class="col-8 border rounded py-2">
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Account</th>
<th scope="col">Balance</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>';
foreach($userfile["accounts"] as $a){
$balance = 0;
for($i = 0; $i <= (count($a['transactions'])-1); $i+=3){
$balance += $a['transactions'][$i+2];
}
echo"<tr class='position-relative'>
<td>".$a['name']."</td>
<td>".$balance."</td>
<td><a href='home.php?openaccount=".($a['accountid']-1)."' class='stretched-link'></a></td>
</tr></a>";
}
echo' </tbody>
</table>
</div>
</div>';
}
echo'</div>';
?>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.min.js" integrity="sha384-G/EV+4j2dNv+tEPo3++6LCgdCROaejBqfUeNjuKAiuXbjrxilcCdDz6ZAVfHWe1Y" crossorigin="anonymous"></script>
</body>
</html>