Bonjour,
Je débute dans la POO et j'essaye de transposer une application que j'ai développé sous cette forme. Autant ça ne s'est pas trop mal passé jusqu'à présent, autant là, je ne vois pas trop comment faire (voire pas du tout)
Il s'agit d'un formulaire (court), qui une fois validé, envoie des données dans une BDD. Seulement, j'ai mis en place un système de vérification des données envoyées, avec mises en session et ré-affichage de celles-ci si le formulaire n'a pas été envoyé mais également une gestion des erreurs. Plutôt qu'un long discours:
Une contrainte : chaque information a un formatage précis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 if (isset($_POST['submit'])) { $errors = array(); //tableau servant à stocker les messages d'erreur // if (!empty($_POST['nom'])) { $nom = filter_var($_POST['nom'], FILTER_SANITIZE_STRING); $_SESSION['nom'] = strtoupper($nom); } else { $errors['nom'] = '<span class="error-message">Entrez un nom, svp</span>'; } // if (!empty($_POST['prenom'])) { $prenom = filter_var($_POST['prenom'], FILTER_SANITIZE_STRING); $_SESSION['prenom'] = ucfirst($prenom); } else { $errors['prenom'] = '<span class="error-message">Entrez un prenom, svp</span>'; } // if (!empty($_POST['ident'])) { $ident = filter_var($_POST['ident'], FILTER_SANITIZE_STRING); $_SESSION['newIdent'] = strtolower($ident); } else { $errors['ident'] = '<span class="error-message">Entrez un identifiant, svp</span>'; } etc...
Si après $errors ne contient pas d'erreurs, on déclenche une requête d'insertion:
En cas de faute de la part de l'utilisateur, je réaffiche les informations rentrées ainsi que les messages d'erreurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if (empty($errors)) { $insert = "INSERT INTO cpte() VALUES () ...
Maintenant, j'aimerais traduire ça en POO. Un des aspects qui me gêne le plus est le respect du formatage des données. Et comment faire pour coïncider à chaque champs l'affichage de sa valeur (session) ou de son message d'erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <label> Nom: <input type="text" name="nom" id="nom" value="<?php if (isset($_SESSION['nom'])) echo $_SESSION['nom']; ?>"> <?php if (isset($_POST['submit']) and !isset($_SESSION['nom'])) echo $errors['nom']; ?> </label> <br> <label> Prenom: <input type="text" name="prenom" id="prenom" value="<?php if (isset($_SESSION['prenom'])) echo $_SESSION['prenom']; ?>"> <?php if (isset($_POST['submit']) and !isset($_SESSION['prenom'])) echo $errors['prenom']; ?> </label> etc.
merci,
Partager