Bonjour,

Par un manque de connaince, je debute en dev web, je tente de transformer plusieurs pages PHP ( autonome les une par rapport au autres) en une "applications web" via des onglets.

j'ai réussi à éclater mon affichage "front-end" en plusieurs vue.
Chaque onglet vas avoir un fonctionnement différent ou presque, certains vont avoir des champs de saisie qui permettrons ensuite d'avoir l'affichage des resultat de requetes via PHP vers une base oracle ( ses requêtes fonctionnes déjà), d'autre devront avoir une récupération des données toute les X minutes.

Mais comme je débute je me concentre sur le premier onglet qui permet de rechercher des infos via la saisie d'une information dans un formulaire. et la patatras , je me casse le nez depuis plusieurs jours.

Ce que je fais

la page principale ne fais qu'allez chercher une vue qui contient la gestion des onglet dont voici le code:

fichier accueil.php

<?php

    //session_start();

?>

<!doctype html>
<html>

<head>
    <title>Application des anomalie Pharma</title> 
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" >
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- importation jquery -->
    <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> -->
    <script src="./javascript/external/jquery/jquery.js"></script>
    <script src="./javascript/external/jquery/jquery.tablesorter.js"></script>
    <!-- importation Bootstrap -->
    <link rel="stylesheet" href="./javascript/external/bootstrap/bootstrap-3.3.7-dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="./javascript/external/bootstrap/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css" > 
    <script src="./javascript/external/bootstrap/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
    <!-- importation font google -->
    <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet" type="text/css">
    <!--  importation style perso -->
    <link rel="stylesheet" type="text/css" href="./CSS/pharma.css">
    <script src="./javascript/script-pharma.js"></script>
</head>
<body >
        <div class="container">
            <ul class="nav nav-pills">
                <!-- atention ordre inversé pour affichage à droite -->
                <li role="presentation"><a href="#sortie">Sortie</a></li>
                <li role="presentation"><a href="#gef">GEF</a></li>
                <li role="presentation"><a href="#prescriptions">Prescriptions</a></li>
                <li role="presentation"><a href="#sortieStock">Stock</a></li>
                <li role="presentation" class="active"><a href="#about">ACCUEIL</a></li>
            </ul>
            <div class="tab-content">

        <div class="tab-pane active" id="about">
            <div class="container">
                <h1>Outils de controle </h1>
                <p>Vous trouverez une liste d'outils qui permettent de gêrer  au mieux  les anomalies rencontré dans les échanges entre le logiciel <br>
                Cette liste d'outils sera amené à évoluer au grés des besoins.    
                </p>
        </div>  
        </div>
    <?php 
        //viewControlSortie();
        include './core/controler/controlerControleSortie.php';
   ?>
</div>
</div>
</div>

</body>
</html>

fichier pharma-script.js

$(function(){
  var myForm = document.getElementById('controleSortie');

    // fonction qui gére les onglets
    $('a')
      .click(function (e) {
        e.preventDefault();
        $(this).tab('show');
      })
      .on('shown.bs.tab', function (e) {
        $('#actif span').html($(e.target).text());
        $('#precedent span').html($(e.relatedTarget).text());
      });
    // myForm.addEventListener('submit', function(e) {
    //   alert('Vous avez envoyé le formulaire !\n\nMais celui-ci a été bloqué pour que vous ne changiez pas de page.');
    //   e.preventDefault();
    // });
});

fichier controlerControleSortie.php

<?php

include './core/model/modelControleSortie.php';
include './core/view/viewControleSortie.php';

?>

mon fichier viewControleSortie.php

<?php ob_start(); ?>

    <div class="tab-pane" id="sortie">
    <div class="container">
        <div class="heading">
            <h2 align="center">Control sortie </h2>
        </div>
        <div class="sortieTableau ">
        <div>
            <p>Veuillez choisir le numéro de sortie  à rechercher</p>
           <br>
            <form id="controleSortie" method="post"  action="" class="form-horizontal">
                <fieldset>

                <div class="form-group">
                    <label for="numberSortie" class="control_label" required>Numero de sortie :</label>
                    <input type="text" name="numberSortie" class="form-control input-lg champ">

                <!--</div>
                <div class="form-group ">
                 <div > --> 
                     <button type="submit" name="validNumSortie" class="btn btn-default posBtn" >submit</button> <!--onclick="controlSortie();" >submit</button> -->
                 </div>
                    </div> 
                </fieldset>
            </form>
        </div>
        <br>

            <!-- début boucle de récupération des éléments de la recherche -->
            <?php getResultat();?>

            <!-- fin boucle de récupération des éléments de la recherche -->

        </div>
         </div>
    </div>

</div>
<?php

function getResultat(){

//var_dump($_POST);

    if(isset($_POST['numberSortie'])){

        echo '
        <div id="posTableau">
        <table id="tableau" class="table table-bordered "  border="1" >
        <thead>
        <tr>
        <th class="header ">Nom</th>
        <th class="header">Réference</th>
        <th class="header">Service</th>
        <th class="header">Date mouvement</th>
        <th class="header">Date insertion</th>
        </tr>
        </thead>
        <tbody>
        <tr>
        <td><center></center></td>
        <td><center></center></td>
        <td><center> 1</center></td>
        <td><center> 1</center></td>
        <td><center> 1</center></td>
        </tr>
        <tr>
        </tr>
        </tbody>
        </table>
        ';

    }
}

/*
<td><center></center></td>
<td><center></center></td>
<td><center> 1</center></td>
<td><center> 1</center></td>
<td><center> 1</center></td>';
    }
}*/

?>

j'ai pas encore de fichier modéle car pas assez avancé dans mon dev

Ce que je veux

Ce que je veux arriver à faire consiste à récuperer la variable contenus dans mon formulaire que je passe ensuite au controler pour ensuite faire le traitement via le modele et pour finir l'afficher dans ma vue tout en laissant l'onglet selectionné actif( affiché).

Je sais que cela fais beaucoup de chose demande sur ce premier poste, mais je démarre le dev web et tout ce que je suis en train de lire ne m'apporte aucune info concrete. je suis sur que je m'y prend mal concernant le MVC.

Si une personne pouvait prendre le temps de me donner des pistes d'avancé sur mon probléme, cela serait super sympa.

cordialement.

4 réponses


Laznet
Réponse acceptée

Bonjour, j'admet encore une fois que ma réponse était peut être un peu trop sèche, effectivement, il te suffit de changer le nom du fichier dans le "action" du formulaire, par la suite les valeurs lui seront transmise.

Pas de problème :D

Bonsoir,

Ça va sembler un peu sévère ce que je vais dire, mais comment peux-tu parler de controller et de model (et donc en train d'aborder une structure MVC) sans savoir récupérer une valeur depuis un formulaire HTML (qui est selon moi la base), surtout si comme tu le dis tu es débutant, avant de te lancer dans le grand bain je te conseil de reprendre les bases du PHP pour bien appréhender tout ça.
Mais bon :

<form method="POST" action="">
    <input type="text" name"montext">
    <!-- [...] !-->
</form>
<?php
    if(!empty($_POST)){ //On test si la variable POST, est vide ou non.
        $value = $_POST['montext']; //La valeur récupéré dans le formulaire
    }
    ?>

En espérant avoir bien répondu à ta question, excuse moi si tu trouve que j'ai été un peu dur, mais ça ne sert à rien de griller les étapes.

bonsoir,

je ne suis pas offusqué par ta réponse "seche"....

je sais récuperer une valeur d'un formulaire mais sur la même page donc dans un fichier PHP unique.

ce que j'e n'arrive pas à faire completement c'est passer au modéle MVC et donc en fichier éclaté...
en effet, actuellement chaque page contient les éléments de connexion et je doit utiliser un onglet au niveau navigateur pour faire mon job, d'ou le besoin de tout regrouper en "une page unique".

mon probléme viens surement deu lien vers le fichier PHP dans action du formulaire, je ne doit pas prendre le bon.

Il est vrais que je suis débutant vue le niveau lds membres de cette communauté autour de grafikart ;-) mais je vais appliquer cette recommandation dés demain pour voir si j'avance.

En tout cas merci d'avoir pris le temps de me lire...

Bonjour
merci pour cette précision... mais avant de pousser dans cette voirs, je m'appercois que ma maquette ne fonctionne déjà pas correctement avec les onglets et l'onglet actif donc un autre probléme qui va déboucher sur un nouveau sujet.