diff --git a/Readme.md b/Readme.md index 5999c40e3b17c1e0f27e9cdef66895e76d9b9ad1..c7ac8ede88447415c778af70d095345cc1a0961c 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 c816c019d41381bc9d56fbdf1d4bcbc1d0ee349f..ab477dff3965b2526cb0cb50f1c1d14ba7f5ecb5 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 1ffcc07971331634b07b77f462778d6f1b7eab12..a48ef630fb9992a4551885a997ffd485bb45c1ed 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 e24cb94ac718b10ebe58b24b37a036a2908c5cb9..3b1698b67119bd65b9ab800f18eaaaea205bee0f 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 3641d208f513fd3b51c30c5165eea1f7cbc26f9b..148266a7d4458454c7f6b955709490817710a096 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 1dcff4356d30f2006708b18a056eacae73ba9a5e..6a30f1264d12b97369489bfd557a1b049cbb9ed2 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';