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).