Gérer les formulaires avec un Controller
Controllers et formulaires
Lorsqu'une méthode de controller prend en charge l'affichage et le traitement d'un formulaire, elle va devoir avoir deux comportements distincts selon si le formulaire a éte soumis ou non :
Si aucun formulaire n'est soumis, elle a un rôle d'affichage du formulaire
Si un formulaire est soumis, elle doit récupérer et traiter les infos qu'il contient
Nous verrons les liens avec la base de données plus tard dans la semaine donc pour aujourd'hui, nos formulaires vont simplement remplir des variables que nous allons afficher.
Exemple de formulaire
<form method="post" action="/login">
<fieldset>
<label for="email">
Email
</label>
<input type="email" id="email" name="email" />
</fieldset>
<fieldset>
<label for="password">
Mot de passe
</label>
<input type="password" id="password" name="password" />
</fieldset>
<fieldset>
<button type="submit">Connexion</button>
</fieldset>
</form>
AuthController
class AuthController extends AbstractController
{
public function login() : void
{
if(empty($_POST)) // formulaire non soumis
{
$this->render("login", []);
}
else // formulaire soumis
{
if(isset($_POST["email"]))
{
$email = htmlspecialchars($_POST["email"]);
}
}
}
}
02 December 2025