session_destroy(); header('Location: .'); exit; } $db = new PDO('mysql:host=localhost;dbname=combats', 'root', 'root'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); // On émet une alerte à chaque fois qu'une requête a échoué. $reponse = $db->query('SELECT nom FROM personnages') or die(print_r($bdd->errorInfo())); $manager = new PersonnagesManager($db); if (isset($_SESSION['perso'])) { $perso = $_SESSION['perso']; } if (isset($_POST['creer']) && isset($_POST['nom'])) { $perso = new Personnage(['nom' => $_POST['nom']]); // On crée un nouveau personnage. if (!$perso->nomValide()) { $message = 'Le nom choisi est invalide.'; unset($perso); } elseif ($manager->exists($perso->nom())) { $message = 'Le nom du personnage est déjà pris.'; unset($perso); } else { $manager->add($perso); } } elseif (isset($_POST['utiliser']) && isset($_POST['nom'])) { if ($manager->exists($_POST['nom'])) { $perso = $manager->get($_POST['nom']); } else { $message = 'Ce personnage n\'existe pas !'; // S'il n'existe pas, on affichera ce message. }
spl_autoload_register('chargerClasse'); session_start(); if (isset($_GET['deconnexion'])) { session_destroy(); header('Location: .'); exit; } if (isset($_SESSION['perso'])) { $perso = $_SESSION['perso']; } $db = new PDO('mysql:host=localhost;dbname=tp_mini_jeu_de_combat;charset=utf8', 'tp', 'pt', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $pm = new PersonnageManager($db); if (isset($_POST['nom'])) { $nom = htmlspecialchars($_POST['nom']); if (isset($_POST['creer'])) { if (Personnage::nomValide($nom)) { if ($pm->existe($nom)) { $message = 'Le personnage nommé <em>"' . htmlspecialchars($nom) . '"</em> existe déjà'; } else { $perso = new Personnage(['nom' => $nom]); $pm->ajouterPersonnage($perso); } } else { $message = 'Le nom <em>"' . htmlspecialchars($nom) . '"</em> est invalide'; } } elseif (isset($_POST['utiliser'])) { if ($pm->existe($nom)) { $perso = $pm->selectionnerPersonnage($nom); } else { $message = 'Le personnage <em>"' . htmlspecialchars($nom) . '"</em> n\'existe pas'; }