From 2c03c5abf7ad61a6229de2e555b3aa5049ebcd00 Mon Sep 17 00:00:00 2001 From: YanisMoulla <yanis.moulla@etu.unistra.fr> Date: Tue, 6 Dec 2022 09:36:25 +0100 Subject: [PATCH] rendu exam --- "R\303\251poses" | 9 +++++++++ assets/actions/register.php | 38 +++++++++++++++++++++++++++++++++++++ assets/js/loadGame.js | 24 +++++++++++++++++++++++ index.php | 16 +++++++++++++--- register.php | 16 ++++++++++++++++ 5 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 "R\303\251poses" diff --git "a/R\303\251poses" "b/R\303\251poses" new file mode 100644 index 0000000..815cff7 --- /dev/null +++ "b/R\303\251poses" @@ -0,0 +1,9 @@ +Question 1: Quel est le protocole utilisé pour communiquer avec le serveur ? + + -> c'est le protocol TCP. + +Question 2: JS est un langage asynchrone ou synchrone ? Expliquez. + + -> il est les deux; + dans celui ci, l'execution est synchrone, c'est à dire que l'execution s'effectue ligne par ligne de haut en bas, mais chaque ligne peut être + asynchrone du fait que lorsqu'elle soit executé et que son execution prends du temps, la ligne suivante n'a pas à l'attendre pour s'executer. \ No newline at end of file diff --git a/assets/actions/register.php b/assets/actions/register.php index c816c01..e531277 100644 --- a/assets/actions/register.php +++ b/assets/actions/register.php @@ -6,3 +6,41 @@ */ require_once __DIR__ . '/../db/Database.php'; + + + + + function register($username, $mot_de_passe, $re_mot_de_passe){ + $pseudo = htmlspecialchars($username); + $mdp = htmlspecialchars($mot_de_passe); + $re_mdp = htmlspecialchars($re_mot_de_passe); + + $check = $pdo->prepare('SELECT pseudo, password, isAdmin FROM users WHERE pseudo = ?');//$query_users_connexion + $check->execute(array($pseudo)); + $data_user = $check->fetch();//PDO::FETCH_ASSOC + $row = $check->rowCount(); + + if($row ==0){ + + if((strlen($mdp)>=8) && ($mdp == $re_mdp)){ + $mdp = hash('sha256', $mdp); + $insert = $pdo->prepare('INSERT INTO users(pseudo, password, isAdmin) VALUES(:pseudo, :password, :isAdmin)');//$query_users_inscription + $insert->execute(array( + 'pseudo'=>$pseudo, + 'password'=>$mdp, + 'isAdmin'=>$isAdmin + )); + header('Location:login.php'); + } + if($mdp != $re_mdp){echo "--- Les 2 mots de passe ne sont pas identique ---"; + header('Location:register.php');} + if(strlen($mdp)<8){echo "--- Le mot de passe saisi est trop court: 8 caractères minimum ---"; + header('Location:register.php');} + }else { + header('Location:register.php'); + echo "Vous êtes déja inscrit";} + } + + + +?> \ No newline at end of file diff --git a/assets/js/loadGame.js b/assets/js/loadGame.js index 4f82f01..3b66c21 100644 --- a/assets/js/loadGame.js +++ b/assets/js/loadGame.js @@ -3,3 +3,27 @@ * ajouter une fonction pour charger, en ajax, la quantité totale de jeux dans la base ( API = /assets/actions/gameTableSize.php). (3 points) * ajouter un événement sur le bouton "Load more" pour lancer la fonction créée au premier point. (1 point) */ + + function loadgames(str) + { + if (str=="") + + if (window.XMLHttpRequest) + { + xmlhttp=new XMLHttpRequest(); + } + else + { + xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); + } + xmlhttp.onreadystatechange=function() + { + if (xmlhttp.readyState==4 && xmlhttp.status==200) + { + document.getElementById("txtHint").innerHTML=xmlhttp.responseText; + } + } + xmlhttp.open("GET","getuser.php?q="+str,true); + xmlhttp.send(); + } + \ No newline at end of file diff --git a/index.php b/index.php index 3641d20..fe9068d 100644 --- a/index.php +++ b/index.php @@ -2,6 +2,8 @@ require_once __DIR__ . '/assets/locale/Translate.php'; $translate = new Translate('fr'); + + $specificCSS = ' <link rel="stylesheet" href="assets/css/index.css"/> '; @@ -10,6 +12,14 @@ $specificJS = ' <script src="assets/js/loadGame.js" type="module" defer></script> '; + +require_once '/assets/db/Databasephp'; +$q=$_GET["q"]; +$compteur; + + + + require_once __DIR__ . '/assets/template/head.php'; ?> @@ -21,9 +31,9 @@ require_once __DIR__ . '/assets/template/head.php'; <main> <h2><?= $translate->getTrad('home.subtitle') ?></h2> - - <section></section> - +<?php for($compteur=0; $compteur<=$q; $compteur++):?> + <section> <?= getGame($compteur)['game']; ?></section> +<?php endfor?> <button> <?= $translate->getTrad('home.loadMore') ?> </button> diff --git a/register.php b/register.php index 1dcff43..db62aff 100644 --- a/register.php +++ b/register.php @@ -19,6 +19,22 @@ require_once __DIR__ . '/assets/template/nav.php'; ?> <!-- 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. --> +<div> + <h1>Connection</h1> + <form method="post"> + <input type="text" name="pseudo" id="pseudo" placeholder="Votre pseudo" required> + <input type="password" name="password" id="password" placeholder="Votre mot de passe" required> + <input type="password" name="re_password" id="re_password" placeholder="Votre mot de passe à nouveau" required> + <input type="submit" name="inscription" id="inscription"> + </form> +</div> + +<php? +require_once '/assets/actions/register.php'; +register($_POST['pseudo'], $_POST['password'], $_POST['re_password']); +?> + + <?php require_once __DIR__ . '/assets/template/footer.php'; -- GitLab