From 10825d759850b922a6c4609f1ea7a72bd4a14e67 Mon Sep 17 00:00:00 2001 From: Valentin <43043885+itsmrval@users.noreply.github.com> Date: Mon, 10 Jun 2024 18:19:34 +0200 Subject: [PATCH] feat(login/register) blabla --- assets/css/login.css | 49 +++++++++++++++++++++++++++++ assets/logo/dark.png | Bin 0 -> 59861 bytes assets/logo/purple.png | Bin 0 -> 19951 bytes components/homepage/main.php | 3 +- components/login/main.php | 33 ++++++++++++++++++++ components/navigate/main.php | 12 +++++-- components/navigate/stop_list.php | 10 +++--- components/register/main.php | 50 ++++++++++++++++++++++++++++++ index.php | 1 + login.php | 4 +++ logout.php | 7 +++++ register.php | 4 +++ services/db.php | 22 +++++++++++++ services/stop_service.php | 11 ++----- structure/header.php | 6 +++- structure/main.php | 19 ++++++++++-- structure/navbar.php | 50 ++++++++++++++++++------------ 17 files changed, 243 insertions(+), 38 deletions(-) create mode 100644 assets/css/login.css create mode 100644 assets/logo/dark.png create mode 100644 assets/logo/purple.png create mode 100644 components/login/main.php create mode 100644 components/register/main.php create mode 100644 login.php create mode 100644 logout.php create mode 100644 register.php create mode 100644 services/db.php diff --git a/assets/css/login.css b/assets/css/login.css new file mode 100644 index 0000000..96288fd --- /dev/null +++ b/assets/css/login.css @@ -0,0 +1,49 @@ +html, +body { + height: 100%; +} + +body { + display: -ms-flexbox; + display: -webkit-box; + display: flex; + -ms-flex-align: center; + -ms-flex-pack: center; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + padding-top: 40px; + padding-bottom: 40px; + background-color: #f5f5f5; +} + +.form-signin { + width: 100%; + max-width: 330px; + padding: 15px; + margin: 0 auto; +} +.form-signin .checkbox { + font-weight: 400; +} +.form-signin .form-control { + position: relative; + box-sizing: border-box; + height: auto; + padding: 10px; + font-size: 16px; +} +.form-signin .form-control:focus { + z-index: 2; +} +.form-signin input[type="email"] { + margin-bottom: -1px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.form-signin input[type="password"] { + margin-bottom: 10px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} \ No newline at end of file diff --git a/assets/logo/dark.png b/assets/logo/dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ddf4e738706e996006d9d86f08ccbf1361dbce91 GIT binary patch literal 59861 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

aHANqCMtkYgf!G+jcK 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 literal 0 HcmV?d00001 diff --git a/assets/logo/purple.png b/assets/logo/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..b49ad77979c551d0eef4d3528596132007c7f59e GIT binary patch literal 19951 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 VNME=F-rxqgq-~&8a>4%I{{g6Hh;#q| literal 0 HcmV?d00001 diff --git a/components/homepage/main.php b/components/homepage/main.php index 1dc1c3f..b71d25b 100644 --- a/components/homepage/main.php +++ b/components/homepage/main.php @@ -1,9 +1,10 @@


\ No newline at end of file diff --git a/components/login/main.php b/components/login/main.php new file mode 100644 index 0000000..ceab743 --- /dev/null +++ b/components/login/main.php @@ -0,0 +1,33 @@ +prepare("SELECT * FROM users WHERE email = :email"); + $query->bindParam(':email', $_POST['email']); + $query->execute(); + $user = $query->fetch(PDO::FETCH_ASSOC); + + if ($user && password_verify($_POST['password'], $user['password'])) { + $_SESSION['user_id'] = $user['id']; + $_SESSION['first_name'] = $user['first_name']; + $_SESSION['is_admin'] = $user['is_admin']; + header("Location: index.php"); + } else { + $errorMessage = "Invalid email or password."; + } +} + +?> + + + + diff --git a/components/navigate/main.php b/components/navigate/main.php index 95ba452..8dfb17e 100644 --- a/components/navigate/main.php +++ b/components/navigate/main.php @@ -1,5 +1,14 @@

Lignes de Métro

@@ -20,7 +29,6 @@ include 'services/stop_service.php'; diff --git a/components/navigate/stop_list.php b/components/navigate/stop_list.php index 36dac1d..0fa2a3c 100644 --- a/components/navigate/stop_list.php +++ b/components/navigate/stop_list.php @@ -1,6 +1,8 @@
@@ -17,12 +19,12 @@ - -
Ajouter
+ +
- \ No newline at end of file + diff --git a/components/register/main.php b/components/register/main.php new file mode 100644 index 0000000..6b128d7 --- /dev/null +++ b/components/register/main.php @@ -0,0 +1,50 @@ +prepare("SELECT * FROM users WHERE email = :email"); + $query->bindParam(':email', $_POST['email']); + $query->execute(); + $user = $query->fetch(PDO::FETCH_ASSOC); + + if ($user) { + $errorMessage = "Email already used."; + } + } + +} +?> + + + + + \ No newline at end of file diff --git a/index.php b/index.php index d8b5254..30d9b68 100644 --- a/index.php +++ b/index.php @@ -1,4 +1,5 @@ \ No newline at end of file diff --git a/login.php b/login.php new file mode 100644 index 0000000..9c6cd3d --- /dev/null +++ b/login.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..a027511 --- /dev/null +++ b/logout.php @@ -0,0 +1,7 @@ + diff --git a/register.php b/register.php new file mode 100644 index 0000000..b0bfa1e --- /dev/null +++ b/register.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/services/db.php b/services/db.php new file mode 100644 index 0000000..6d6d18b --- /dev/null +++ b/services/db.php @@ -0,0 +1,22 @@ +exec("CREATE DATABASE IF NOT EXISTS subwaySchedule"); + $conn->exec("USE subwaySchedule"); + + $conn->exec("CREATE TABLE IF NOT EXISTS users ( + id INT AUTO_INCREMENT PRIMARY KEY, + firstName VARCHAR(50) NOT NULL, + lastName VARCHAR(50) NOT NULL, + email VARCHAR(100) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + is_admin BOOLEAN NOT NULL DEFAULT 0 + )"); + + + +} catch(PDOException $e) { + echo "Connection failed: " . $e->getMessage(); +} +?> diff --git a/services/stop_service.php b/services/stop_service.php index 8c04710..ba2e1f6 100644 --- a/services/stop_service.php +++ b/services/stop_service.php @@ -1,10 +1,5 @@ \ No newline at end of file diff --git a/structure/header.php b/structure/header.php index 2ee3716..85c391d 100644 --- a/structure/header.php +++ b/structure/header.php @@ -5,6 +5,10 @@ Subway schedules - + '; + } + ?> \ No newline at end of file diff --git a/structure/main.php b/structure/main.php index 5bf0463..d87d71b 100644 --- a/structure/main.php +++ b/structure/main.php @@ -1,5 +1,20 @@ - - +
diff --git a/structure/navbar.php b/structure/navbar.php index ffffef8..d219a8a 100644 --- a/structure/navbar.php +++ b/structure/navbar.php @@ -1,25 +1,35 @@ -
-
\ No newline at end of file + + + + '; +} +?> \ No newline at end of file