Refactor contact controller and views for improved functionality and user experience
This commit is contained in:
parent
600e7bce82
commit
986356d5ba
5 changed files with 77 additions and 91 deletions
|
|
@ -1,8 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
|
||||||
* Switch to the appropriate controller according to HTTP method
|
|
||||||
*/
|
|
||||||
function contact_ctrl() {
|
function contact_ctrl() {
|
||||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
contact_write_ctrl();
|
contact_write_ctrl();
|
||||||
|
|
@ -11,42 +8,35 @@ function contact_ctrl() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Form display
|
|
||||||
*/
|
|
||||||
function contact_form_ctrl() {
|
function contact_form_ctrl() {
|
||||||
// Print form
|
require('views/contact_views.php');
|
||||||
require('views/contact_form_view.php');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Form processing
|
|
||||||
*/
|
|
||||||
function contact_write_ctrl() {
|
function contact_write_ctrl() {
|
||||||
// On récupère les données du formulaire
|
$nom = $_POST['nom'];
|
||||||
$nom = $_POST['nom'];
|
|
||||||
$prenom = $_POST['prenom'];
|
$prenom = $_POST['prenom'];
|
||||||
$dep = $_POST['dep'];
|
$dep = $_POST['dep'];
|
||||||
$spe = $_POST['spe'];
|
$spe = $_POST['spe'];
|
||||||
$tel = $_POST['tel'];
|
$tel = $_POST['tel'];
|
||||||
$date = $_POST['ladate_lheure'];
|
$date = $_POST['ladate'];
|
||||||
|
$heure = $_POST['lheure'];
|
||||||
|
|
||||||
|
// Combine date + heure en DateTime
|
||||||
|
$date_heure = $date . ' ' . $heure . ':00';
|
||||||
|
|
||||||
// On peut ajouter une petite validation simple
|
|
||||||
if (empty($nom) || empty($prenom) || empty($tel)) {
|
if (empty($nom) || empty($prenom) || empty($tel)) {
|
||||||
echo "Veuillez remplir tous les champs obligatoires !";
|
$_SESSION['notification'] = 'Veuillez remplir tous les champs obligatoires.';
|
||||||
|
require('views/contact_views.php');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Connexion à la base
|
|
||||||
require('models/connection.php');
|
require('models/connection.php');
|
||||||
$c = connection();
|
$c = connection();
|
||||||
|
|
||||||
// Création de la personne
|
|
||||||
require('models/contact_crud.php');
|
require('models/contact_crud.php');
|
||||||
create_personne($spe, $nom, $prenom, $dep,$tel, $date_heure, $c);
|
|
||||||
|
|
||||||
// Affichage de la page de confirmation
|
create_sauveteur($c, $nom, $prenom, $dep, $spe, $date_heure, $tel);
|
||||||
require('views/welcome_view.php');
|
|
||||||
}
|
$_SESSION['notification'] = 'Sauveteur ajouté avec succès.';
|
||||||
|
header('Location: index.php?route=ajout_personnes');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,11 @@
|
||||||
modif_utilisateurs_write_ctrl();
|
modif_utilisateurs_write_ctrl();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'ajout_personnes':
|
||||||
|
require('controllers/contact_crtl.php');
|
||||||
|
contact_ctrl();
|
||||||
|
break;
|
||||||
|
|
||||||
case 'operations':
|
case 'operations':
|
||||||
require('controllers/operation_ctrl.php');
|
require('controllers/operation_ctrl.php');
|
||||||
operations_form_ctrl();
|
operations_form_ctrl();
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
function create_sauveteur(PDO $connex, $nom, $prenom, $dep, $spe, $date, $heure, $role, $tel)
|
function create_sauveteur(PDO $c, string $nom, string $prenom, string $dep, string $spe, string $date_heure, string $tel): void {
|
||||||
{
|
$req = "INSERT INTO Sauveteur (nom, prenom, departement, specialite, DateHeureEngagement, NumTel)
|
||||||
$req = "INSERT INTO Sauveteur
|
VALUES (:nom, :prenom, :dep, :spe, :date_heure, :tel)";
|
||||||
(nom, prenom, dep, spe, ladate, lheure, role, tel)
|
|
||||||
VALUES
|
|
||||||
(:nom, :prenom, :dep, :spe, :date, :heure, :role, :tel)";
|
|
||||||
|
|
||||||
$prep = $connex->prepare($req);
|
|
||||||
|
|
||||||
|
$prep = $c->prepare($req);
|
||||||
$prep->bindValue(':nom', $nom);
|
$prep->bindValue(':nom', $nom);
|
||||||
$prep->bindValue(':prenom', $prenom);
|
$prep->bindValue(':prenom', $prenom);
|
||||||
$prep->bindValue(':dep', $dep);
|
$prep->bindValue(':dep', $dep);
|
||||||
$prep->bindValue(':spe', $spe);
|
$prep->bindValue(':spe', $spe);
|
||||||
|
$prep->bindValue(':date_heure', $date_heure);
|
||||||
$prep->bindValue(':tel', $tel);
|
$prep->bindValue(':tel', $tel);
|
||||||
$prep->bindValue(':date', $date);
|
|
||||||
|
|
||||||
|
|
||||||
$prep->execute();
|
$prep->execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,50 +1,50 @@
|
||||||
<?php require('header.php')?>
|
<?php require('views/header.php'); ?>
|
||||||
|
|
||||||
<h2>Ajouts de personnes </h2>
|
<h2>Ajout de personnes</h2>
|
||||||
|
|
||||||
<form action="traite_formulaire.php" method="post">
|
<form action="index.php?route=ajout_personnes" method="post">
|
||||||
<p>Nom : <input type="text" name="nom" /></p>
|
<p>
|
||||||
<p>Prénom : <input type="text" name="prenom" /></p>
|
<label>Nom :</label>
|
||||||
|
<input type="text" name="nom" required>
|
||||||
<p>Département : <input type="text" name="dep" /></p>
|
|
||||||
<label for="spe">Spécialité :</label>
|
|
||||||
<select type="number" min="1" placeholder="spécialité" name="spe" >
|
|
||||||
<option value="1" selected="true">Evacuation </option>
|
|
||||||
<option value="2">ASV (assistance victime)</option>
|
|
||||||
<option value="3">Transmission</option>
|
|
||||||
<option value="4">Conseiller technique(chef)</option>
|
|
||||||
<option value="5">Gestion</option>
|
|
||||||
<option value="6">Désobstruction</option>
|
|
||||||
<option value="7">Médical</option>
|
|
||||||
<option value="8">Ventilation</option>
|
|
||||||
<option value="9">Pas de spécialitées</option>
|
|
||||||
</select>
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="date">Date d'engagement sur l'opération de secours :</label>
|
<label>Prénom :</label>
|
||||||
<input type="date" name="ladate" /></p>
|
<input type="text" name="prenom" required>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="heure">Heure d'engagement sur l'opération de secours :</label>
|
<label>Département :</label>
|
||||||
<input type="time" name="lheure"/>
|
<input type="text" name="dep" required>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="roles">Rôle :</label>
|
<label for="spe">Spécialité :</label>
|
||||||
<select type="number" min="1" placeholder="Rôle" name="role">
|
<select name="spe" id="spe">
|
||||||
<option value="1" selected="true">Gestionnaire </option>
|
<option value="1">Évacuation</option>
|
||||||
<option value="2">Lecteur </option>
|
<option value="2">ASV (assistance victime)</option>
|
||||||
<option value="3">Admin</option>
|
<option value="3">Transmission</option>
|
||||||
</select>
|
<option value="4">Conseiller technique (chef)</option>
|
||||||
</p>
|
<option value="5">Gestion</option>
|
||||||
<p>
|
<option value="6">Désobstruction</option>
|
||||||
<label for="tel">Numéro de téléphone :</label>
|
<option value="7">Médical</option>
|
||||||
<input type="tel" id="tel" name="tel" placeholder="Numéro de téléphone" required>
|
<option value="8">Ventilation</option>
|
||||||
</p>
|
<option value="9">Pas de spécialité</option>
|
||||||
|
</select>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="date">Date d'engagement :</label>
|
||||||
|
<input type="date" id="date" name="ladate" required>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="heure">Heure d'engagement :</label>
|
||||||
|
<input type="time" id="heure" name="lheure" required>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="tel">Numéro de téléphone :</label>
|
||||||
|
<input type="tel" id="tel" name="tel" required>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<input type="submit" value="Valider">
|
||||||
|
<input type="reset" value="Annuler">
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
|
||||||
<input type="submit" value="Valider" />
|
<?php require('views/footer.php'); ?>
|
||||||
<input type="reset" value="Annuler" />
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
|
||||||
require('footer.php');
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
<?php require('views/header.php'); ?>
|
<?php require('views/header.php'); ?>
|
||||||
|
|
||||||
<nav style="margin-bottom: 20px;">
|
<nav class="sub-nav">
|
||||||
<a href="index.php?route=operations" style="text-decoration: underline; font-weight: bold; margin-right: 15px;">Opérations</a>
|
<a href="index.php?route=operations">Opérations</a>
|
||||||
<a href="index.php?route=ajout_personnes" style="margin-right: 15px;">Ajout personnes</a>
|
<a href="index.php?route=ajout_personnes">Ajout personnes</a>
|
||||||
<a href="index.php?route=planning">Planning</a>
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<h2>Création d'une opération</h2>
|
<h2>Création d'une opération</h2>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue