Bonjour, je suis en train de développer un site sur une clinique avec l'agent et je cherche d'afficher le patient dont le nss(numéro de sécurité sociale) correspond à celui que j'ai saisi dans le champ 'saisi' mais le problème, c'est que à chaque fois j'affiche le patient cherché en bas il y a la page où je dois créer un patient si le nss saisi ne correspond à aucun patient dans la base de donnée ou il n'y est pas présent puisque j'ai séparé la page où je dois saisir les patients ou les modifier dans GestionPatients.php e la page où j'affiche le patient cherché, ConsulterSynthèse.php. J'ai structuré le site en MVC.
Voici le fichier GestionPatients.php:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Gestion</title>
</head>
<header>
    Gestion des patients
</header>
<body>
 
<div>
    <h1>Consulter le synthèse</h1>
    <fieldset>
        <legend>Informations des patients</legend>
        <form method="post" action="clinique.php">
            <p>
                <label for="prenom">Prenom:</label>
                <input type="text" name="prenom" id="prenom" />
            </p>
            <p>
                <label for="nom">Nom:</label>
                <input type="text" name="nom" id="nom"/>
            </p>
            <p>
                <label for="adresse">Adresse:</label>
                <input type="text" name="adresse" id="adresse"/>
            </p>
            <p>
                <label for="numtel">Numéro de téléphone:</label>
                <input type="text" name="numtel" id="numtel"/>
            </p>
            <p>
                <label for="date">Date:</label>
                <input type="date" name="datet" id="date"/>
            </p>
            <p>
                <label for="nss">NSS:</label>
                <input type="text" name="nss" id="nss"/>
            </p>
            <p>
                <label for="dep">Département de naissance:</label>
                <input type="text" name="dep" id="dep"/>
            </p>
            <p>
                <label for="solde">Solde:</label>
                <input type="text" name="solde" id="solde"/>
            </p>
            <p>
                <input type="submit" name="ajoutsynthèse" value="Ajouter le patient" />
            </p>
        </form>
    </fieldset>
</div>
 
 
<div>
    <fieldset>
        <legend>Modifier patient</legend>
        <form method="post" action="clinique.php">
            <p>
                <label for="type">Qu'est-ce que tu veux modifier?</label>
                <select name="type" id="type" multiple >
                    <option name="nommodif" value="nommodif">Nom</option>
                    <option name="prenomodif" value="prenomodif">Prenom</option>
                    <option name="adressmodif" value="adressmodif">Adresse</option>
                    <option name="datemodif" value="datemodif">Date de Naissance</option>
                    <option name="depmodif" value="depmodif">Département de naissance</option>
                    <option name="soldemodif" value="soldemodif">Solde</option>
                    <option name="nssmodif" value="nssmodif">NSS</option>
                    <option name="numtelmodif" value="numtelmodif">Numéro de téléphone</option>
                </select>
            </p>
            <p>
                <input type="submit" name="modif" value="Modifier le patient"/>
            </p>
        </form>
 
    </fieldset>
</div>
</body>
</html>
Et la page ConsulterSynthèse.php:
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
 
<!doctype html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Consulter le synthèse</title>
</head>
<body>
    <header>Clinique</header>
 
    <fieldset>
        <legend>Liste des patients</legend>
            <?php echo "$contenu1"; ?>
    </fieldset>
    <footer>Informations</footer>
</body>
</html>
Et la page gabaritAgent qui correspond à la page accueil de l'agent:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
<!doctype html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Agent</title>
</head>
<body>
<header>
    <nav>
        <ul>
            <li> <a href="depot.php">Gestion des dépôts</a> </li>  <li><a href="paiement.php">Payements</a> </li> <li><a href="ListeRendezvous.php">Gestion des rendez-vous</a></li>
        </ul>
    </nav>
</header>
<fieldset>
    <legend>Saisir le NSS</legend>
    <form method="post" action="clinique.php">
        <p>
            <label for="saisi">Saisie de NSS:</label>
            <input type="text" name="saisi" id="saisi"/>
 
        </p>
        <p>
            <input type="submit" name="saisienss" value="Afficher le patient"/>
        </p>
    </form>
</fieldset>
 
<p>
    <a href="vue/GestionPatients.php">Aller à la page de Gestion des patients</a>
</p>
 
 
 
<fieldset>
    <legend>Retrouver le NSS</legend>
    <form method="post" action="clinique.php">
        <p>
            <label for="nomnss">nom de NSS:</label>
            <input type="text" name="nomnss" id="nomnss"/>
        </p>
        <p>
            <label for="datenss">date de naisance:</label>
            <input type="text" name="datenss" id="datenss"/>
        </p>
        <p>
            <input type="submit" name="retrouvenss" value="Retrouver le NSS"/>
        </p>
    </form>
</fieldset>
 
 
<footer>
    <a href="vue/InformationsAgents.php">Informations</a>
</footer>
 
 
</body>
</html>
et la page vue.php contenu dans le dossier vue qui contient le fichier html:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
<?php
 
function afficherMedecin(){
    $accueil='';
    require_once('gabaritMedecin.php');
}
 
function afficherAgent(){
    $accueil='';
    require_once('gabaritAgent.php');
}
 
function afficherDirecteur(){
    $accueil='';
    require_once('gabaritDIrecteur.php');
}
 
function afficherAccueil()
{
    $accueil = '';
    require_once('Accueil.php');
}
 
 
 
 
function afficherPatientCherche($nss){
    $contenu1='';
    foreach($nss as $patient){
        $contenu1.='<p>{ nom:'.$patient->nom.' , prenom: '.$patient->prenom.', adresse: '.$patient->adresse.
            ', numero de téléphone: '.$patient->numtel.' , date de naissance: '.$patient->datenaiss.' , département de naissance: '.
            $patient->departnaiss.',solde: '.$patient->solde.' } </p>';
    }
    require_once('ConsulterSynthèse.php');
}
function afficheGestionPatients(){
    $acc='';
    require_once("GestionPatients.php");
}
et page modele.php:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
<?php
require_once('connect.php');
 
function getConnect(){
    require_once('connect.php');
    $connexion = new PDO('mysql:host=' . SERVEUR . ';dbname=' . BDD, USER, PASSWORD);
    $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $connexion->query("SET NAMES UTF8");
    return $connexion;
}
 
function AjouteLogin($mdp,$categorie){
    $connexion=getConnect();
    $req="INSERT INTO employe VALUES (0,'$mdp','$categorie')";
    $res=$connexion->query($req);
    $res->closeCursor();
}
 
function AjoutePatient($nom,$prenom,$date,$dep,$nss,$numtel,$adresse,$solde){
    $connexion=getConnect();
    $req="INSERT INTO patient(nss,idrdv,nom,prenom,adresse,numtel,datenaiss,departnaiss,solde) VALUES ('$nss',0,'$nom','$prenom','$adresse',$numtel,'$date',$dep,$solde)";
    $res=$connexion->query($req);
    $res->closeCursor();
}
 
function ChercherPatient($nss){
    $connexion=getConnect();
    $req="SELECT idrdv,nom,prenom,adresse,numtel,datenaiss,departnaiss,solde from patient where nss='$nss'";
    $res=$connexion->query($req);
    $res->setFetchMode(PDO::FETCH_OBJ);
    $patientcherche=$res->fetchAll();
    $res->closeCursor();
    return $patientcherche;
}
 
function SelectionnePatient(){
    $connexion=getConnect();
    $req="SELECT nss,idrdv,nom,prenom,adresse,numtel,datenaiss,departnaiss,solde from patient ";
    $res=$connexion->query($req);
    $res->setFetchMode(PDO::FETCH_OBJ);
    $pazienti=$res->fetchAll();
    $res->closeCursor();
    return $pazienti;
}
et page accueil:
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
27
28
29
30
31
32
33
34
35
36
37
 
<!doctype html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Accueil</title>
</head>
<body>
<header>
    Accueil Accès compte
</header>
<fieldset>
    <legend>S'identifier</legend>
    <form method="post" action="clinique.php">
        <p>
            <label for="id">Login:</label>
            <input type="text" id="id" name="id"/>
        </p>
        <p>
            <label for="mdp">Mot de passe:</label>
            <input type="password" id="mdp" name="mdp"/>
        </p>
        <p>
            <input type="submit" name="identité" value="S'identifier"/>
        </p>
    </form>
</fieldset>
 
 
<footer>
   Informations
</footer>
</body>
</html>
et la page controleur:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 
<?php
require_once("modele/modeleAgent.php");
 
require_once("vue/vue.php");
 
function CtlAccueil(){
 afficherAccueil();
}
 
function CtlLogin($log,$mdp){
if (!empty($log) and !empty($mdp)){
if (strstr($log,"med")) {
$categorie = "medecin";
 afficherMedecin();
 AjouteLogin($mdp, $categorie);
 }
elseif (strstr($log,'dir')) {
$categorie = "directeur";
 afficherDirecteur();
 AjouteLogin($mdp, $categorie);
 }
elseif (strstr($log,'agent')) {
$categorie="agent";
 afficherAgent();
 AjouteLogin($mdp,$categorie);
 } else {
throw new Exception("réessayer saisie");
 }
 }
else{
throw new Exception("Les champs sont vides, se reconnecter");
 }
}
 
 
function CtlGestionPatients(){
 afficheGestionPatients();
}
 
 
 
function CtlAffichePatient($nss){
$p=ChercherPatient($nss);
 afficherPatientCherche($p);
}
 
 
 
function CtlPatient($nssaisie)
{
$paziente = SelectionnePatient();
$nss = SelectionneNSS();
if (!empty($nssaisie)) {
for ($i = 0; $i < count($paziente); $i++) {
$pat = $paziente[$i];
$pa = (array)$pat->nss;
if (in_array($nssaisie, $pa)) {
foreach($pa as $nns) {
if ($nssaisie == $nns) {
 CtlAffichePatient($nssaisie);
 } else {
continue;
 }
 }
 }else{
 CtlGestionPatients();
 }
 }
 } else {
throw new Exception("le champ de saisie NSS est vide");
 }
}
function CtlAjoutePatient($nom,$prenom,$date,$dep,$nss,$numtel,$adresse,$solde){
if (!empty($nom) && !empty($prenom) && !empty($date) && !empty($dep) && !empty($nss) && !empty($numtel) && !empty($adresse) && !empty($solde)){
 AjoutePatient($nom,$prenom,$date,$dep,$nss,$numtel,$adresse,$solde);
 }else{
throw new Exception("les champs sont vides");
 
 }
}
le page clinique.php qui contient le site en entier:

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
27
28
29
30
31
32
33
 
<?php
 
require_once('controleur/controleur.php');
try {
if (isset($_POST["identité"])){
$log=$_POST['id'];
$mdp=$_POST['mdp'];
 CtlLogin($log,$mdp);
 }elseif(isset($_POST['ajoutsynthèse'])){
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse=$_POST['adresse'];
$date=$_POST['datet'];
$dep=$_POST['dep'];
$solde=$_POST['solde'];
$numtel=$_POST['numtel'];
$nss=$_POST['nss'];
 CtlAjoutePatient($nom,$prenom,$date,$dep,$nss,$numtel,$adresse,$solde);
 }
elseif (isset($_POST['saisienss'])){
$nssai=$_POST['saisi'];
 CtlPatient($nssai);
 }
else{
 CtlAccueil();
 }
 
}
catch (Exception $e){
$msg = 'Erreur dans le file: '.$e->getFile().' , ERREUR dans la ligne '. $e->getLine() . ' : ' . $e->getMessage() ;
exit($msg);
}