From 362919c5f425f3891175145f3a0e9386c21dfafd Mon Sep 17 00:00:00 2001 From: "Arjun Yadla (yadlaa)" Date: Mon, 3 Jan 2022 10:04:42 +0000 Subject: [PATCH] Add files via upload --- air.jpg | Bin 0 -> 40137 bytes authenticate.php | 53 ++++++++++ display.php | 88 ++++++++++++++++ home.php | 52 ++++++++++ index.html | 25 +++++ insert.php | 37 +++++++ logout.php | 6 ++ logs.sql | 9 ++ password.txt | 2 + phplogin.sql | 260 +++++++++++++++++++++++++++++++++++++++++++++++ profile.php | 198 ++++++++++++++++++++++++++++++++++++ style.css | 128 +++++++++++++++++++++++ 12 files changed, 858 insertions(+) create mode 100644 air.jpg create mode 100644 authenticate.php create mode 100644 display.php create mode 100644 home.php create mode 100644 index.html create mode 100644 insert.php create mode 100644 logout.php create mode 100644 logs.sql create mode 100644 password.txt create mode 100644 phplogin.sql create mode 100644 profile.php create mode 100644 style.css diff --git a/air.jpg b/air.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9f6eba4cb7e134aeba2fa9abb2c1bbb5da9a43b9 GIT binary patch literal 40137 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'SELECT id, password FROM accounts WHERE username = ?')) { + // Bind parameters (s = string, i = int, b = blob, etc), in our case the username is a string so we use "s" + $stmt->bind_param('s', $_POST['username']); + $stmt->execute(); + // Store the result so we can check if the account exists in the database. + $stmt->store_result(); + if ($stmt->num_rows > 0) { + $stmt->bind_result($id, $password); + $stmt->fetch(); + // Account exists, now we verify the password. + // Note: remember to use password_hash in your registration file to store the hashed passwords. + if (password_verify($_POST['password'], $password)) { + // Verification success! User has logged-in! + // Create sessions, so we know the user is logged in, they basically act like cookies but remember the data on the server. + session_regenerate_id(); + $_SESSION['loggedin'] = TRUE; + $_SESSION['name'] = $_POST['username']; + $_SESSION['id'] = $id; + header('Location: home.php'); + } else { + // Incorrect password + echo 'Incorrect username and/or password!'; + } + } else { + // Incorrect username + echo 'Incorrect username and/or password!'; + } + + $stmt->close(); +} +?> + diff --git a/display.php b/display.php new file mode 100644 index 0000000..a5aad25 --- /dev/null +++ b/display.php @@ -0,0 +1,88 @@ + + + + + + + + ABC Air + + + + + + +
+

AirFrames ABC Air Services

+

This is the common dashboard where Airframes created will be displayed and can be updated if necessary

+

The Airframes created are displayed below

+
+ + + + + + + + + + + + + + + + + + + + + + + + '; + + } +} + +?> + + +
Sno.Maintenance TypeEngineer AssignedFlight HoursFlight NumberMaintenance Schedule DateOptions
'.$id.''.$name.''.$engg.''.$fhr.''.$fno.''.$date.' + + +
+
+ + + + \ No newline at end of file diff --git a/home.php b/home.php new file mode 100644 index 0000000..334416c --- /dev/null +++ b/home.php @@ -0,0 +1,52 @@ + + + + + + + ABC + + + + + + +
+

Home Page

+
+
+
+ +
+ +
+

Welcome to ABC Air Official Website!

ABC Air is a small aircraft service company that carry out the aircraft maintenance for the civil operators. The + company records the total number of flying hours for each aircraft, servicing time, man-hours of the engineers + and related maintenance.

+
+ +
+

List of Engineers

+

Aeronautical Engineer ; ID : 100002 +
Aerospace Engineer ; ID : 100003 +
Astronautical Engineer ; ID : 100004 +
Avionics Engineer ; ID : 100005 +
Mechanical Engineer ; ID : 100006

+
+ + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..c1d3aae --- /dev/null +++ b/index.html @@ -0,0 +1,25 @@ + + + + + Login + + + + + + + \ No newline at end of file diff --git a/insert.php b/insert.php new file mode 100644 index 0000000..f71352d --- /dev/null +++ b/insert.php @@ -0,0 +1,37 @@ + \ No newline at end of file diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..8a8639f --- /dev/null +++ b/logout.php @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/logs.sql b/logs.sql new file mode 100644 index 0000000..5e23ade --- /dev/null +++ b/logs.sql @@ -0,0 +1,9 @@ +CREATE TABLE IF NOT EXISTS `logs5` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `fhr5` varchar(50) NOT NULL, + `mt5` varchar(255) NOT NULL, + `eng5` varchar(100) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; + +INSERT INTO `logs5` (`id`, `fhr5`, `mt5`, `eng5`) VALUES (1, '750 - 900 Hours', '07/01/2022 : 12 PM - 8 PM', 'Avionic & Aerospace Engineer'); \ No newline at end of file diff --git a/password.txt b/password.txt new file mode 100644 index 0000000..6334a12 --- /dev/null +++ b/password.txt @@ -0,0 +1,2 @@ +test +$2y$10$SfhYIDtn.iOuCW7zfoFLuuZHX6lja4lF4XA4JqNmpiH/.P3zB8JCa \ No newline at end of file diff --git a/phplogin.sql b/phplogin.sql new file mode 100644 index 0000000..50e9c0a --- /dev/null +++ b/phplogin.sql @@ -0,0 +1,260 @@ +-- phpMyAdmin SQL Dump +-- version 5.1.1 +-- https://www.phpmyadmin.net/ +-- +-- Host: 127.0.0.1 +-- Generation Time: Jan 03, 2022 at 05:00 AM +-- Server version: 10.4.22-MariaDB +-- PHP Version: 8.1.1 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `phplogin` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `accounts` +-- + +CREATE TABLE `accounts` ( + `id` int(11) NOT NULL, + `username` varchar(50) NOT NULL, + `password` varchar(255) NOT NULL, + `email` varchar(100) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `accounts` +-- + +INSERT INTO `accounts` (`id`, `username`, `password`, `email`) VALUES +(1, 'test', '$2y$10$SfhYIDtn.iOuCW7zfoFLuuZHX6lja4lF4XA4JqNmpiH/.P3zB8JCa', 'test@test.com'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `logs` +-- + +CREATE TABLE `logs` ( + `id` int(11) NOT NULL, + `airframe` varchar(50) NOT NULL, + `engineer` varchar(50) NOT NULL, + `fhr` varchar(50) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- +-- Dumping data for table `logs` +-- + +INSERT INTO `logs` (`id`, `airframe`, `engineer`, `fhr`) VALUES +(1, '1', 'e1', '100'), +(2, 'Airframe 6', 'Avionic Engineer', '600 - 700'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `logs1` +-- + +CREATE TABLE `logs1` ( + `id` int(11) NOT NULL, + `fhr1` varchar(50) NOT NULL, + `mt1` varchar(255) NOT NULL, + `eng1` varchar(100) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `logs1` +-- + +INSERT INTO `logs1` (`id`, `fhr1`, `mt1`, `eng1`) VALUES +(1, '400 - 600 Hours', '05/01/2022 : 12 PM - 6 PM', 'Aeronautical Engineer'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `logs2` +-- + +CREATE TABLE `logs2` ( + `id` int(11) NOT NULL, + `fhr2` varchar(50) NOT NULL, + `mt2` varchar(255) NOT NULL, + `eng2` varchar(100) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `logs2` +-- + +INSERT INTO `logs2` (`id`, `fhr2`, `mt2`, `eng2`) VALUES +(1, '400 - 600 Hours', '06/01/2022 : 12 PM - 6 PM', 'Aeronautical Engineer'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `logs3` +-- + +CREATE TABLE `logs3` ( + `id` int(11) NOT NULL, + `fhr3` varchar(50) NOT NULL, + `mt3` varchar(255) NOT NULL, + `eng3` varchar(100) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `logs3` +-- + +INSERT INTO `logs3` (`id`, `fhr3`, `mt3`, `eng3`) VALUES +(1, '600 - 700 Hours', '06/01/2022 : 12 PM - 8 PM', 'Mechanical Engineer'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `logs4` +-- + +CREATE TABLE `logs4` ( + `id` int(11) NOT NULL, + `fhr4` varchar(50) NOT NULL, + `mt4` varchar(255) NOT NULL, + `eng4` varchar(100) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `logs4` +-- + +INSERT INTO `logs4` (`id`, `fhr4`, `mt4`, `eng4`) VALUES +(1, '700 - 800 Hours', '07/01/2022 : 12 PM - 8 PM', 'Mechanical & Aerospace Engineer'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `logs5` +-- + +CREATE TABLE `logs5` ( + `id` int(11) NOT NULL, + `fhr5` varchar(50) NOT NULL, + `mt5` varchar(255) NOT NULL, + `eng5` varchar(100) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `logs5` +-- + +INSERT INTO `logs5` (`id`, `fhr5`, `mt5`, `eng5`) VALUES +(1, '750 - 900 Hours', '07/01/2022 : 12 PM - 8 PM', 'Avionic & Aerospace Engineer'); + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `accounts` +-- +ALTER TABLE `accounts` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `logs` +-- +ALTER TABLE `logs` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `logs1` +-- +ALTER TABLE `logs1` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `logs2` +-- +ALTER TABLE `logs2` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `logs3` +-- +ALTER TABLE `logs3` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `logs4` +-- +ALTER TABLE `logs4` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `logs5` +-- +ALTER TABLE `logs5` + ADD PRIMARY KEY (`id`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `accounts` +-- +ALTER TABLE `accounts` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `logs` +-- +ALTER TABLE `logs` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; + +-- +-- AUTO_INCREMENT for table `logs1` +-- +ALTER TABLE `logs1` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `logs2` +-- +ALTER TABLE `logs2` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `logs3` +-- +ALTER TABLE `logs3` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `logs4` +-- +ALTER TABLE `logs4` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `logs5` +-- +ALTER TABLE `logs5` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/profile.php b/profile.php new file mode 100644 index 0000000..a0a7aac --- /dev/null +++ b/profile.php @@ -0,0 +1,198 @@ +prepare('SELECT mt1, eng1 FROM logs1 WHERE id = ?'); +// In this case we can use the account ID to get the account info. +$stmt->bind_param('i', $_SESSION['id']); +$stmt->execute(); +$stmt->bind_result($mt1, $eng1); +$stmt->fetch(); +$stmt->close(); + +// We don't have the password or email info stored in sessions so instead we can get the results from the database. +$stmt = $con->prepare('SELECT mt2, eng2 FROM logs2 WHERE id = ?'); +// In this case we can use the account ID to get the account info. +$stmt->bind_param('i', $_SESSION['id']); +$stmt->execute(); +$stmt->bind_result($mt2, $eng2); +$stmt->fetch(); +$stmt->close(); + +// We don't have the password or email info stored in sessions so instead we can get the results from the database. +$stmt = $con->prepare('SELECT mt3, eng3 FROM logs3 WHERE id = ?'); +// In this case we can use the account ID to get the account info. +$stmt->bind_param('i', $_SESSION['id']); +$stmt->execute(); +$stmt->bind_result($mt3, $eng3); +$stmt->fetch(); +$stmt->close(); + +// We don't have the password or email info stored in sessions so instead we can get the results from the database. +$stmt = $con->prepare('SELECT mt4, eng4 FROM logs4 WHERE id = ?'); +// In this case we can use the account ID to get the account info. +$stmt->bind_param('i', $_SESSION['id']); +$stmt->execute(); +$stmt->bind_result($mt4, $eng4); +$stmt->fetch(); +$stmt->close(); + +// We don't have the password or email info stored in sessions so instead we can get the results from the database. +$stmt = $con->prepare('SELECT mt5, eng5 FROM logs5 WHERE id = ?'); +// In this case we can use the account ID to get the account info. +$stmt->bind_param('i', $_SESSION['id']); +$stmt->execute(); +$stmt->bind_result($mt5, $eng5); +$stmt->fetch(); +$stmt->close(); +?> + + + + + + MLP + + + + + +
+

Create Airframe Log

+
+
+ + +

+ + +

+ + +
+
+ +
+ +
+

Logs Display

+
+

Airframe 1 Log Details :

+ + + + + + + + + + + + + +
Flight Hours :400 - 600 Hours
Maintanence Date :
Assigned Engineer :
+
+
+ +
+
+

Airframe 2 Log Details :

+ + + + + + + + + + + + + +
Flight Hours400 - 600 Hours
Maintanence Date :
Assigned Engineer :
+
+
+ +
+
+

Airframe 3 Log Details :

+ + + + + + + + + + + + + +
Flight Hours600 - 700 Hours
Maintanence Date :
Assigned Engineer :
+
+
+ +
+
+

Airframe 4 Log Details :

+ + + + + + + + + + + + + +
Flight Hours700 - 800 Hours
Maintanence Date :
Assigned Engineer :
+
+
+ +
+
+

Airframe 5 Log Details :

+ + + + + + + + + + + + + +
Flight Hours750 - 900 Hours
Maintanence Date :
Assigned Engineer :
+
+
+ + + \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..ad037e2 --- /dev/null +++ b/style.css @@ -0,0 +1,128 @@ +* { + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; + font-size: 16px; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +body { + background-color: #435165; +} +.login { + width: 400px; + background-color: #ffffff; + box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.3); + margin: 100px auto; +} +.login h1 { + text-align: center; + color: #5b6574; + font-size: 24px; + padding: 20px 0 20px 0; + border-bottom: 1px solid #dee0e4; +} +.login form { + display: flex; + flex-wrap: wrap; + justify-content: center; + padding-top: 20px; +} +.login form label { + display: flex; + justify-content: center; + align-items: center; + width: 50px; + height: 50px; + background-color: #3274d6; + color: #ffffff; +} +.login form input[type="password"], .login form input[type="text"] { + width: 310px; + height: 50px; + border: 1px solid #dee0e4; + margin-bottom: 20px; + padding: 0 15px; +} +.login form input[type="submit"] { + width: 100%; + padding: 15px; + margin-top: 20px; + background-color: #3274d6; + border: 0; + cursor: pointer; + font-weight: bold; + color: #ffffff; + transition: background-color 0.2s; +} +.login form input[type="submit"]:hover { + background-color: #2868c7; + transition: background-color 0.2s; +} +.navtop { + background-color: #2f3947; + height: 60px; + width: 100%; + border: 0; +} +.navtop div { + display: flex; + margin: 0 auto; + width: 1000px; + height: 100%; +} +.navtop div h1, .navtop div a { + display: inline-flex; + align-items: center; +} +.navtop div h1 { + flex: 1; + font-size: 24px; + padding: 0; + margin: 0; + color: #eaebed; + font-weight: normal; +} +.navtop div a { + padding: 0 20px; + text-decoration: none; + color: #c1c4c8; + font-weight: bold; +} +.navtop div a i { + padding: 2px 8px 0 0; +} +.navtop div a:hover { + color: #eaebed; +} +body.loggedin { + background-color: #f3f4f7; +} +.content { + width: 1000px; + margin: 0 auto; +} +.content h2 { + margin: 0; + padding: 25px 0; + font-size: 22px; + border-bottom: 1px solid #e0e0e3; + color: #4a536e; +} +.content > p, .content > div { + box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1); + margin: 25px 0; + padding: 25px; + background-color: #fff; +} +.content > p table td, .content > div table td { + padding: 5px; +} +.content > p table td:first-child, .content > div table td:first-child { + font-weight: bold; + color: #4a536e; + padding-right: 15px; +} +.content > div p { + padding: 5px; + margin: 0 0 10px 0; +} \ No newline at end of file