From 45606334c3cd3013dee8532fcc8c9ba7685909ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt?= <benoit.richert@etu.unistra.fr> Date: Tue, 6 Dec 2022 09:27:55 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9p=C3=B4t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Readme.md | 4 ++++ assets/actions/register.php | 12 +++++++++++- assets/css/index.css | 25 +++++++++++++++++++++++-- assets/db/Database.php | 30 +++++++++++++++++++++++++++--- index.php | 6 +++++- register.php | 25 ++++++++++++++++++++++++- 6 files changed, 94 insertions(+), 8 deletions(-) diff --git a/Readme.md b/Readme.md index 5999c40..c7ac8ed 100644 --- a/Readme.md +++ b/Readme.md @@ -67,3 +67,7 @@ copier/coller, je ne souhaite pas de définition toute faite, mais une réponse - Quel est le protocole utilisé pour communiquer avec le serveur ? - JS est un langage asynchrone ou synchrone ? Expliquez. + + +Le protocole utilisé pour communiquer avec le serveur est HTTP. +JS est un language synchrone, c'est-à -dire que pour chaque appel de fonction, toutes les instructions de la fonction seront exécutés puis va retourner une valeur. Le reste du programmme va attendre que cette même fonction se finisse avant d'en démarrer une nouvelle. diff --git a/assets/actions/register.php b/assets/actions/register.php index c816c01..ab477df 100644 --- a/assets/actions/register.php +++ b/assets/actions/register.php @@ -1,8 +1,18 @@ <?php +require_once __DIR__ . '/../db/Database.php'; +$db = new Database(); +$result = $db->register( + $_POST['username'], + $_POST['password'], +); /** * ajouter une fonction qui permet d'insérer le nouvel utilisateur dans la base de données. * ajouter une redirection sur la page de connexion si l'inscription est réussie ou sur la page d'inscription si elle échoue. */ -require_once __DIR__ . '/../db/Database.php'; +if ($result) { + header('Location: /login.php'); +} else { + header('Location: /register.php'); +} \ No newline at end of file diff --git a/assets/css/index.css b/assets/css/index.css index 1ffcc07..a48ef63 100644 --- a/assets/css/index.css +++ b/assets/css/index.css @@ -21,8 +21,6 @@ main { color: black; } main section a article { height: 100%; - display: flex; - flex-direction: column; align-items: center; border: 1px solid var(--color-primary); background-color: var(--color-primary-transparent); @@ -57,3 +55,26 @@ main { font-size: 0.75rem; } /*# sourceMappingURL=index.css.map */ + +section{ + display: grid; + grid-template-columns: 1fr; + grid-gap: 20px; + grid-auto-rows: minmax(100px, auto); + place-items: center; +} +@media all and (min-width:768px) { + section { + grid-template-columns: 1fr 1fr; + margin-bottom: 15%; + margin-top: 5%; + } +} + +@media all and (min-width:992px) { + section { + grid-template-columns: repeat(3, 1fr); + margin-bottom: 10%; + margin-top: 2%; + } +} \ No newline at end of file diff --git a/assets/db/Database.php b/assets/db/Database.php index e24cb94..3b1698b 100644 --- a/assets/db/Database.php +++ b/assets/db/Database.php @@ -32,7 +32,15 @@ class Database public function getGames() { - // Charger ici les jeux de la base de données trois par trois + $games = $this->pdo->query('SELECT * FROM game') + ->fetchAll(); + + $gameObject = []; + foreach ($games as $game) { + $gameObject[] = new Film($film); + } + + return $gameObject; } /** @@ -50,9 +58,16 @@ class Database public function getGameTableSize() { - // Retourner le nombre de jeux dans la base de données + $statement = $this->pdo->prepare('SELECT * FROM game'); + $statement->execute(); + $i=0; + foreach ($games as $game) { + $i++; + } + return $i; } + /** * @param $username * @param $password @@ -60,7 +75,16 @@ class Database */ public function register($username, $password) { - // Faire une fonction pour enregistrer un utilisateur dans la base de données. + try{ + $statement = $this->pdo->prepare("INSERT INTO user ('password', 'username') VALUES (:password, :username)"); + $statement->bindValue(':password', password_hash($password, PASSWORD_BCRYPT)); + $statement->bindValue(':username', $username); + return $statement->execute(); + } catch (Exception $e) { + return false; + } + + } public function login($username, $password) diff --git a/index.php b/index.php index 3641d20..148266a 100644 --- a/index.php +++ b/index.php @@ -22,7 +22,11 @@ require_once __DIR__ . '/assets/template/head.php'; <main> <h2><?= $translate->getTrad('home.subtitle') ?></h2> - <section></section> + <section> + <article> <p> Article d'essai pour css </p> </article> + <article> <p> Article d'essai pour css </p></article> + <article> <p> Article d'essai pour css </p></article> + </section> <button> <?= $translate->getTrad('home.loadMore') ?> diff --git a/register.php b/register.php index 1dcff43..6a30f12 100644 --- a/register.php +++ b/register.php @@ -15,10 +15,33 @@ if ($userConnected) { header('Location: /index.php'); } + require_once __DIR__ . '/assets/template/nav.php'; +require_once __DIR__ . '/assets/actions/register.php'; +?> +<?php +$title = $translate->getTrad('register.title'); +$button = $translate->getTrad('register.submit'); ?> +<main> + <div> + <h2><?= $title ?></h2> + + <form action="assets/actions/register.php" method="post"> + <label> + <?= $translate->getTrad('login.username') ?>* + <input type="text" name="username" required> + </label> + + <label> + <?= $translate->getTrad('login.password') ?>* + <input type="password" name="password" required> + </label> -<!-- ajouter un formulaire pour permettre à l'utilisateur de s'inscrire sur le site. Attention un style existe déjà , utilisez une structure pour permettre de l'adapter au mieux. --> + <button type="submit"><?= $button ?></button> + </form> + </div> +</main> <?php require_once __DIR__ . '/assets/template/footer.php'; -- GitLab