Page 1 sur 1

Transposition en POO

Posté : 29 sept. 2010, 10:56
par albius
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:
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...
Une contrainte : chaque information a un formatage précis.
Si après $errors ne contient pas d'erreurs, on déclenche une requête d'insertion:
if (empty($errors)) {
$insert = "INSERT INTO cpte() VALUES ()
...
En cas de faute de la part de l'utilisateur, je réaffiche les informations rentrées ainsi que les messages d'erreurs:
<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.
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...
merci,

Re: Transposition en POO

Posté : 29 sept. 2010, 13:19
par Cyrano
Albius, ou Yann18 au choix, pas de cross-posting, merci.
Une fois ici, et une autre là : tu n'obtiendras pas grand chose de plus que de te faire haïr pasr pas mal de gens qui répondent habituellement de bonne volonté.

Re: Transposition en POO

Posté : 29 sept. 2010, 13:52
par albius
J'avoue sincèrement ne pas trop comprendre où se situe le problème. Si je fais cela, c'est simplement pour augmenter mes chances d'obtenir une réponse (surtout si le problème est particulièrement prenant)
te faire haïr pasr pas mal de gens qui répondent habituellement de bonne volonté
Ah oui, quand même !?! Que dois-je comprendre ? Qu'il y a une rivalité entre les forums ?

Re: Transposition en POO

Posté : 29 sept. 2010, 14:03
par Cyrano
J'avoue sincèrement ne pas trop comprendre où se situe le problème. Si je fais cela, c'est simplement pour augmenter mes chances d'obtenir une réponse (surtout si le problème est particulièrement prenant)
te faire haïr pasr pas mal de gens qui répondent habituellement de bonne volonté
Ah oui, quand même !?! Que dois-je comprendre ? Qu'il y a une rivalité entre les forums ?
Non, ce n'est pas de la rivalité, c'est, comme je te l'ai du reste expliqué dans la réponse que je t'ai faite sur ApprendrePHP.com que c'est tout simplement une question de respect. Si quelqu'un ici te fait une réponse et qu'un autre, sur un autre forum te fait une réponse similaire, il y en a un des deux qui te donne de l'aide pour rien. C'est ça qui n,est pas acceptable.

Re: Transposition en POO

Posté : 29 sept. 2010, 14:15
par albius
Ok, vu comme ça, j'en prends acte.

Re: Transposition en POO

Posté : 29 sept. 2010, 14:39
par Cyrano
Ok, vu comme ça, j'en prends acte.
Excellent.

Comme il y a quelqu'un qui a commencé à te répondre sur developpez.com, on va le laisser continuer, si tu ne trouves malgré ça pas de solution, reviens ici et on tentera une nouvelle approche.