PHP et les bases de données
Partie 1 – Enregistrement de données
- Réaliser la base de données correspondante au script sous IBM ou AWS
https://gitlab.com/cherryclass/hearthstone/blob/master/hearthstone.sql - Réaliser un administrateur hearthstone dans MySQL.
- Connecter sous IntelliJ la base de données.
- Permettre au formulaire formRarity.html de s’insérer dans la base de données. On utilisera l’administrateur hearthstone pour la connexion PDO.
- Permettre au formulaire formCarte.html de s’inserer dans la base de données. Interdire les chiffres dans le nom de la carte grâce à une expression régulière dans le champs input.
Partie 2 – Gestion d’utilisateurs
- Ajouter une table utilisateur à la base de données, avec login, mot de passe, email et date d’inscription. Ajouter au moins 3 utilisateurs avec des emails du domaine frebourg.es.
- Mettre à jour le diagramme de classe correspondant.
- Vérifier que l’utilisateur existe en modifiant recupLogin.php. On pourra s’inspirer du code suivant.
$sql = "SELECT count(*) as total FROM utilisateur WHERE login=:login AND mdp=:mdp"; $resultats = $dbh->prepare($sql); $login = "login"; $mdp = "mdp"; $resultats->bindParam(":login", $login); $resultats->bindParam(":mdp", $mdp); $resultats->execute(); $row= $resultats->fetch(PDO::FETCH_ASSOC); echo var_dump($row); echo $row["total"];
- Réaliser une fonction qui permette de générer un mot de passe d’au moins 5 lettres
- Réaliser une page inscription.php qui permette d’ajouter un utilisateur en utilisant la fonction précédente et la date d’aujourd’hui. On vérifiera que l’email correspond au domaine frebourg.es grâce à une expression régulière dans le champs input.
- Permettre uniquement aux utilisateurs connectés d’utiliser formRarity.html et formCarte.html
- Proposer l’inscription ou la connexion sur la page index.html
Partie 3 – Affichage de données
- Améliorer viewCarte.html en viewCarte.php pour récupérer les informations de la base de données.
On pourra obtenir une image sur ce site http://www.hearthstone-decks.com/carte
- Réaliser une page viewCartes.php qui permet d’afficher toutes les cartes sous forme de tableau.
- Afficher le nombre de carte grâce à une requête SQL sur viewCartes.php
- Puis afficher le nombre de cartes par rareté.
function connexion(){ $dsn ="mysql:host=localhost;dbname=concours"; return $dbh = new PDO($dsn, 'login', 'mdp',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); }
Partie 4
- Enregistrer les fichiers sur Gitlab dans un répertoire hearthstone3 et partager avec cherryclass.
- Déployer votre application en ligne (hors localhost).