Salut à tous

je vous écrit car je souhaite me former pas à pas pour créer un site en php selon le modèle MVC.
j'ai regardé les vidéos sur le MVC, mais y a des notions que je ne saisis pas encore étant très débutant.
j'ai fait une formation en java/jee et j'ai créé une application Client/serveur sur le modèle MVC. mais le fonctionnement entre jee et php est différent (servlet, jsp).

j'ai créer un formulaire dans une page accueil.php :

<html>
    <head>
        <title>Gestion des clients : menu</title>

        <link rel="stylesheet" type="text/css" href="css/style.css" />

    </head>
    <body>
        <h1>Gestion des clients</h1>
        <form method="post" action="">
            <input type="hidden" name="idEcran" value=1 />
            <label for="modifier">Numéro de client : </label><input type="text" name="numClient" id="numClient" />
            <input type="radio" name="choixAction" id="modifier" /><label for="modifier">Modification</label>
            <input type="radio" name="choixAction" id="creer" /><label for="creer">Création</label>
            <input type="radio" name="choixAction" id="supprimer" /><label for="supprimer">Supression</label>
            <br />
            <br />
            <br />
            <br />
            <input type="radio" name="choixAction" id="listeClient" checked="checked" /><label for="listeClient">Liste de clients : </label>
            <br />
            <input type="submit" value="suite" />
        </form>
    </body>
</html>

je souhaite envoyer les résultats du formulaire vers ma classe Controleur.php qui contiendra des méthodes qui communiquerons avec les classe du modèle (une classe métier par table de ma BDD).

voila ma question comment envoyer le résultat de la page accueil.php vers ma classe Controleur.php?

1 réponse


Deux problemes en faites dans ton code :

  • Pour envoyer un formulaire à tel ou tel adresse il faut remplir l'attribut "action" de la balise "form", ce qui donnera dans ton cas

    <form method="post" action="Controleur.php">

  • Tu met des inputs radio mais aucun attribut "value", c'est a dire que dans la logique tu ne pourras pas savoir exactement quel est l'input radio coché, donc :

    <input type="radio" name="choixAction" id="modifier" value="modifier" />

Et ce, pour chaque input radio "choixAction", par exemple ...

Ce qui donnera, dans la logique :

<?php
if( isset( $_POST'choixAction'] ) ) {
    switch( $_POST'choixAction'] ) {
        case 'modifier':
            // - Ce que tu veux ...
            break;
        case 'creer':
            // - Ce que tu veux ...
            break;
        default:
            // - Aucune des valeurs attendus, la, encore une fois, ce que tu veux (Valeur par défaut .., Tu retourne une erreur, ce que tu veux quoi)
    }
} else {
     // - Pas de "choixAction" dans la requete Form, equivalent au "default" du switch pour toi donc : (Valeur par défaut .., Tu retourne une erreur, ce que tu veux quoi)
}
?>

Bon évidemment, j'ai choisi de traiter ca avec un switch, si tu as beaucoup de logique, voit plutot pour une condition if / elseif / else.