Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: PHP
Posted by: Jam Passions
Added: Jan 15, 2018 12:29 PM
Views: 6
Tags: no tags
  1. <!DOCTYPE html>
  2. <?php
  3. spl_autoload_register(function ($class) {
  4.     include $class . '.php';
  5. });
  6. if (isset($_GET['deconnexion']))
  7. {
  8.     header('Location:.');
  9.     exit();
  10. }
  11. // Je construis mon objet, puis je donne le paramètre à PDO::setAttribute() :
  12. $db = new PDO('mysql:host=localhost;dbname=base_de_donnees;', 'root', '');
  13. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  14.  
  15. $manager = new personnagesManager($db);
  16. if (isset($_SESSION['perso']))
  17. {
  18.     $perso = $_SESSION['perso'];
  19. }
  20. if (isset($_POST['creer']) && isset($_POST['nom']))
  21. {
  22.     switch ($_POST['type'])
  23.     {
  24.         case 'magicien':$perso = new Magicien(array('nom' => $_POST['nom']));
  25.             break;
  26.         case 'guerrier':$perso = new Guerrier(array('nom' => $_POST['nom']));
  27.             break;
  28.         default :'Le type du personnage est invalide.';
  29.             break;
  30.     }
  31. }
  32. if (isset($perso))//Si le type du personnage est valide, on a créé un personnage.
  33. {
  34.     if (!$perso->nomValide())
  35.     {
  36.         $message = 'Le nom choisi est invalide.';
  37.         unset($perso);
  38.     }
  39.     elseif ($manager->exists($perso->nom()))
  40.     {
  41.         $message = 'Le nom du personnage est déjà pris.';
  42.         unset($perso);
  43.     }
  44.     else
  45.     {
  46.         $manager->add($perso);
  47.     }
  48. }
  49. elseif (isset($_POST['utiliser']) && isset($_POST['nom']))//Si on a voulu utiliser un personnage
  50. {
  51.     if ($manager->exists($_POST['nom']))//Si celui-ci existe.
  52.     {
  53.         $perso = $manager->get($_POST['nom']);
  54.     }
  55.     else
  56.     {
  57.         $message = 'Ce personnage n\'existe pas!'; //Si il n'existe pas, on affichera ce message.
  58.     }
  59. }
  60. elseif (isset($_GET['frapper']))//Si on a cliqué sur un personnage pour le frapper.
  61. {
  62.     if (!isset($perso))
  63.     {
  64.         $message = 'Merci de créer un personnage ou de vous identifier.';
  65.     }
  66.     else
  67.     {
  68.         if (!$manager->exists((int) $_GET['frapper']))
  69.         {
  70.             $message = 'Le personnage que vous voulez frapper n\'existe pas !';
  71.         }
  72.         else
  73.         {
  74.             $persoAFrapper = $manager->get((int) $_GET['frapper']);
  75.             $retour = $perso->frapper($persoAFrapper); //On stocke dans $retour les éventuelles erreurs ou messages que renvoie la méthode frapper.
  76.  
  77.             switch ($retour)
  78.             {
  79.                 case Personnage::CEST_MOI:$message = 'Mais... pourquoi voulez-vous frapper ???';
  80.                     break;
  81.                 case Personnage::PERSONNAGE_FRAPPE:$message = 'Le personnage a bien été frappé !';
  82.                     $manager->update($perso);
  83.                     $manager->update($persoAFrapper);
  84.                     break;
  85.                 case Personnage::PERSONNAGE_TUE:$message = 'Vous avez tué ce personnage !';
  86.                     $manager->update($perso);
  87.                     $manager->delete($persoAFrapper);
  88.             }
  89.         }
  90.     }
  91. }
  92. ?>
  93. <html>
  94.     <head>
  95.         <meta charset="ISO-8859-1">
  96.         <title></title>
  97.     </head>
  98.     <body>
  99.         <?php
  100. // put your code here
  101.         ?>
  102.     </body>
  103. </html>
  104.