FrontEnd
Introduction à la programmation orientée objet en PHP
La partie Front de notre CRUD
On doit pouvoir utiliser notre CRUD (Create, Read, Update, Delete) à partir d'un formulaire
Le fichier index.php<?php
// Gestion de la modification (newnom et idmodif)
if(isset($_GET['newnom'])){ $lenom = $_GET['newnom']; }
if(isset($_GET['idmodif'])){ $idmodif = $_GET['idmodif']; }
// Gestion de la suppression
if(isset($_GET['leId'])){ $leId = $_GET['leId']; }
require 'classes/utilisateur.class.php';
require 'classes/admin.class.php';
require 'classes/manager.class.php';
require 'classes/abonne.class.php';
require 'config/login.php';
$Manager = new Manager($bdd);
// Création d'un Abonné
if(isset($_POST['nom']) && !empty($_POST['nom'])) {
$Abonne1 = new Abonne($_POST['nom'], $_POST['pass'], $_POST['region']);
$Manager -> createInscrits($Abonne1);
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<title>POO PHP</title>
<meta charset="utf-8">
<link rel="stylesheet" href="css/mesStyles.css">
</head>
<body>
<------- ici le formulaire d'inscription ------->
<-- ici le formulaire de modif et de suppression -->
<?php
// pour éviter les doublons lors du rafraichissement de la page
if(isset($_POST['nom']) && !empty($_POST['nom'])) { header('Location: index.php');}
?>
<------- ici le script Javascript ------->
<?php $Manager -> readInscrits(); ?>
</body>
</html>
Le formulaire d'inscription
<h2>Inscription</h2>
<form action="index.php" method="post">
Nom <input type="text" name="nom" id="nom" style="width:120px;"><br>
Pass <input type="text" name="pass" style="width:120px;"><br>
Région <select name="region">
<option value="Sud">Sud</option>
<option value="Nord">Nord</option>
<option value="Sud-Ouest">Sud-Ouest</option>
<option value="Est">Est</option>
<option value="Sud-Est">Sud-Est</option></select><br><br>
<input type="submit" value="Enregistrer">
</form>
Le formulaire de modification et de suppression
⚠ L'évènement onclick du bouton Modifier ci-dessus fait deux appels : celui de la fonction javascript modifNom() ET celui de la méthode updateInscrits()
<div>
Nom <input type="text" name="newNom" id="newNom">
Id <input type="text" name="leId" id="leId">
<!-- <select><option></option></select> -->
<input type="button" id="btn" value="Modifier" onclick="modifNom();<?php if(isset($_GET['newnom'])){$Manager -> updateInscrits($lenom, $idmodif);}?>">
<input type="button" id="suppr" value="Suppr" onclick="detruireId();"></div>
Le script javascript (contient deux fonctions)
<script>
function modifNom() {
let lenom = document.getElementById('newNom').value;
let idmodif = document.getElementById('leId').value;
document.location.href="index.php?newnom=" + lenom + "&idmodif=" + idmodif;
}
function detruireId() {
if (window.confirm("Etes-vous vraiment sûr de vouloir supprimer cet abonné ?")) {
alert('Destruction en cours... Merci de patienter...\nAbonné détruit !');
let leId = document.getElementById('leId').value;
document.location.href="index.php?leId=" + leId;
// ici l'appel en PHP objet de la méthode deleteInscrits()
<?php if(isset($_GET['leId'])){$Manager -> deleteInscrits($leId);}?>
} else {
document.location.href="index.php";
}
}
</script>