Petite question en php

Bonjour,
je réalise mon projet en php et j'ai le cas ou un employé rempli son formulaire de demande de congé, après le chef va soit l'accepter soit la refusé donc ma question est comment faire pour que l'employé puisse voir la table des formulaireConge et voir juste ces formulaire a lui a son nom (pas le reste)
dans mon application j'ai l'authentification au début
quelqu'un peut m'aider svp c'est vraiment important
merci pour votre aide et bonne soirée
Configuration: Windows Vista
Firefox 3.0.10

24 réponses

  1. Il faut que tu utilises une base de données : mysql par exemple !
    Et que tu dises à mysql de ne prendre dans la base que les formulaires dont le nom est égal à l'employé en question !
    1. je sais que je dois faire ca, et j'ai eja ma base avec la table formulaireconge mais comment je fais le code vue qu'il y 'a plein d'employé ?
      1. oui dans le formulaire rempli par l'employé il ya le nom d'ailleurs voila le code de page du formulaire, et de consultation
        merco pour votre aide
        code formulaire
        <form  method="post" action="cibleFormCongeRrh.php" >
        <table width="440" height="500">
          <tr></tr>
          <tr></tr>
          <tr>
            <td>Matricule :</td>
            <td><p>
              <input type="text" name="matricule" id="matricule" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Nom :</td>
            <td><p>
              <input type="text" name="nom" id="nom" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Prénom :</td>
            <td><p>
              <input type="text" name="prenom" id="prenom" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Direction :</td>
            <td><p>
              <input type="text" name="direction" id="direction" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Affectation : </td>
            <td><p>
              <input type="text" name="affectation" id="affectation" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Service :</td>
            <td><p>
              <input type="text" name="service" id="service" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Adresse durant le congé :</td>
            <td><p>
              <input type="text" name="adressedurantleconge" id="adressedurantleconge" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Téléphone :</td>
            <td><p>
              <input type="text" name="telephone" id="telephone" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Nombre de jours demandés ouvrables :</td>
            <td><p>
              <input type="text" name="nbjourouvrable" id="nbjourouvrable" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Date de départ :</td>
            <td><p>
              <input type="text" name="datedepart" id="datedepart" />
              <script type="text/javascript">
        calendar.set("datedepart");
           </script>
            </p>
              <p>&nbsp; </p></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>Date de retour :</td>
            <td><p>
              <input type="text" name="dateretour" id="dateretour" />
              <script type="text/javascript">
        calendar.set("dateretour");
           </script>
            </p>
              <p>&nbsp; </p></td>
          </tr>
          <tr>
            <td>Signature de l'employé :</td>
            <td><p>
              <input type="text" name="signatureemploye" id="signatureemploye" />
            </p>
              <p>&nbsp; </p></td>
          </tr>
        </table>


        code pour voir la table

        <?php
        include("connex.inc.php");
        $idcom=connex("basebank","myparam");
        $requete="SELECT * FROM formulaireconge  ";
        $result=@mysql_query($requete,$idcom);
        if(!$result)
        {
        	echo "Lecture impossible";
        }
        else
        {
        	$nbcol=mysql_num_fields($result);
        	$nbcand=mysql_num_rows($result);
        	
        	echo "<h4> Il y a $nbcand demande(s) de congé </h4> <br> ";
        		
        	echo "<table border=\"1\">";
        	
        	echo "<th>Matricule</th> <th>Nom</th> <th>Prénom</th> <th>Direction</th> <th>Affectation</th> <th>Service</th> <th>Adresse durant le congé</th> <th>Téléphone</th> <th>Nombre de jours demandés: Ouvrables</th> <th>Date de départ</th> <th>Date de retour</th> <th>Signature de l'employé</th> <th>Inputter</th> <th>Authorizer</th> <th>Observation</th> <th>Signature</th> <th>Droit au congé au 21/12/2009</th> <th>Nombre de jours accordé </th> <th>Nombre de jours ouvrables</th> <th>La Direction Administrative</th> <th>Le Vice Président</th> <th>Titre de congé établi et</th> <th>Sous référence: DA/BK/BD/N°</th>";
        	while($ligne=mysql_fetch_array($result,MYSQL_NUM))
        	{
            echo "<tr>";
            foreach($ligne as $valeur)
        	  {
              echo "<td> $valeur </td>";
        		}
        		echo "</tr>";
        	}
        	echo "</table>";
        }
        ?>
        
        1. Sit tu as dans ta table formulaireconge un champs qui comporte le nom et le prénom de l'employé, tu mets :

          $requete="SELECT * FROM formulaireconge WHERE nom=".$_POST['nom']." AND prenom=".$_POST['prenom']."";


          Par contre, si lorsque l'employé valide le formulaire, il ne tombe pas sur la page pour voir la table, ça ne marchera pas !!!

          Il faudra que tu fasses comme ceci (dans la page où tu rentres les informations rentrées par l'employé) :
          <?php session_start();
          $_SESSION['prenom'] = $_POST['prenom'];
          $_SESSION['nom'] = $_POST['nom'];
          ?>


          Et que tu remplaces (dans la page pour voir la table) :
          $requete="SELECT * FROM formulaireconge WHERE nom=".$_SESSION['nom']." AND prenom=".$_SESSION['prenom']."";


          Voilà
          1. dans ma page de formulaire j'ai fais ca et ca donne une erreur
            code
            <?php session_start();
            $_SESSION['nom'] = $_POST['nom'];
            $_SESSION['pernom'] = $_POST['prenom'];
            ?>
             <form  method="post" action="cibleFormCongeChef.php" >
            <table width="440" height="500">
              <tr></tr>
              <tr></tr>
              <tr>
                <td>Matricule :</td>
                <td><p>
                  <input type="text" name="matricule" id="matricule" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Nom :</td>
                <td><p>
                  <input type="text" name="nom" id="nom" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Prénom :</td>
                <td><p>
                  <input type="text" name="prenom" id="prenom" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Direction :</td>
                <td><p>
                  <input type="text" name="direction" id="direction" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Affectation : </td>
                <td><p>
                  <input type="text" name="affectation" id="affectation" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Service :</td>
                <td><p>
                  <input type="text" name="service" id="service" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Adresse durant le congé :</td>
                <td><p>
                  <input type="text" name="adressedurantleconge" id="adressedurantleconge" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Téléphone :</td>
                <td><p>
                  <input type="text" name="telephone" id="telephone" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Nombre de jours demandés ouvrables :</td>
                <td><p>
                  <input type="text" name="nbjourouvrable" id="nbjourouvrable" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Date de départ :</td>
                <td><p>
                  <input type="text" name="datedepart" id="datedepart" />
                  <script type="text/javascript">
            calendar.set("datedepart");
               </script>
                </p>
                  <p>&nbsp; </p></td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>Date de retour :</td>
                <td><p>
                  <input type="text" name="dateretour" id="dateretour" />
                  <script type="text/javascript">
            calendar.set("dateretour");
               </script>
                </p>
                  <p>&nbsp; </p></td>
              </tr>
              <tr>
                <td>Signature de l'employé :</td>
                <td><p>
                  <input type="text" name="signatureemploye" id="signatureemploye" />
                </p>
                  <p>&nbsp; </p></td>
              </tr>
            </table>
            <p>&nbsp;</p>


            erreur sur la page meme du formulaire (meme si les champs du formulaire sont visibles
            Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\EasyPHP 3.0\www\PFE\site_flash\form-conge-chef.php:77) in C:\Program Files\EasyPHP 3.0\www\PFE\site_flash\form-conge-chef.php on line 107
            
            Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\EasyPHP 3.0\www\PFE\site_flash\form-conge-chef.php:77) in C:\Program Files\EasyPHP 3.0\www\PFE\site_flash\form-conge-chef.php on line 107
            
            Notice: Undefined index: nom in C:\Program Files\EasyPHP 3.0\www\PFE\site_flash\form-conge-chef.php on line 108
            
            Notice: Undefined index: prenom in C:\Program Files\EasyPHP 3.0\www\PFE\site_flash\form-conge-chef.php on line 109
            1. Il faut que tu mettes une répertoire se nommant "session" à la racine de ton site !
              Ensuite, ceci :
              <?php session_start();
              $_SESSION['nom'] = $_POST['nom'];
              $_SESSION['pernom'] = $_POST['prenom'];
              ?>

              doit se trouver au tout début de cette page : cibleFormCongeChef.php

              Essaye et parles-en !
              1. d'est pas logique que ca se trouve au début de la page cible car ma page cible contient le code qui permet d'insérer le formulaire dans la table ?
                1. non ca ne donne rien j'ai ajouter dans la page cible de mon formulaire au tout debut du code
                  <?php session_start();
                  $_SESSION['nom'] = $_POST['nom'];
                  $_SESSION['pernom'] = $_POST['prenom'];
                  ?>

                  et dans ma page de consultation des demandes j'ai fais cette requetes
                  voila le code
                  <?php
                  include("connex.inc.php");
                  $idcom=connex("basebank","myparam");
                  if(isset($_SESSION['login'])){
                  $requete="SELECT * FROM formulaireconge  WHERE nom=".$_POST['nom']." AND prenom=".$_POST['prenom']."";
                  $result=@mysql_query($requete,$idcom);
                  
                  
                  if(!$result)
                  {
                  	echo "Lecture impossible";
                  }
                  else
                  {
                  	$nbcol=mysql_num_fields($result);
                  	$nbcand=mysql_num_rows($result);
                  	
                  	echo "<h4> Il y a $nbcand demande(s) de congé </h4> <br> ";
                  		
                  	echo "<table border=\"1\">";
                  	
                  	echo "<th>Matricule</th> <th>Nom</th> <th>Prénom</th> <th>Direction</th> <th>Affectation</th> <th>Service</th> <th>Adresse durant le congé</th> <th>Téléphone</th> <th>Nombre de jours demandés: Ouvrables</th> <th>Date de départ</th> <th>Date de retour</th> <th>Signature de l'employé</th> <th>Inputter</th> <th>Authorizer</th> <th>Observation</th> <th>Signature</th> <th>Droit au congé au 21/12/2009</th> <th>Nombre de jours accordé </th> <th>Nombre de jours ouvrables</th> <th>La Direction Administrative</th> <th>Le Vice Président</th> <th>Titre de congé établi et</th> <th>Sous référence: DA/BK/BD/N°</th>";
                  	while($ligne=mysql_fetch_array($result,MYSQL_NUM))
                  	{
                      echo "<tr>";
                      foreach($ligne as $valeur)
                  	  {
                        echo "<td> $valeur </td>";
                  		}
                  		echo "</tr>";
                  	}
                  	echo "</table>";
                  }
                  }
                  ?>
                  1. Tu intègres
                    <?php session_start(); ?>

                    tout au début de la page de consultation des demandes.

                    Puis tu remplaces :
                    $requete="SELECT * FROM formulaireconge  WHERE nom=".$_POST['nom']." AND prenom=".$_POST['prenom']."";

                    Par
                    $requete="SELECT * FROM formulaireconge  WHERE nom=".$_SESSION['nom']." AND prenom=".$_SESSION['prenom']."";
                    1. :-( ca ne donne rien j'ai essayer (pas d'erreur mais pas d'affichage de la table)
                      1. <?php session_start();
                        $_SESSION['nom'] = $_POST['nom'];
                        $_SESSION['pernom'] = $_POST['prenom'];
                        ?>
                        
                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                        <html xmlns="http://www.w3.org/1999/xhtml">
                        <head>
                        <!-- appel au javascript du calendrier -->
                        <script src="calendar.js" type="text/javascript"></script>
                        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                        <title>Résultat de'envoie du formulaire de congé</title>
                        <link href="style.css" rel="stylesheet" type="text/css" />
                        <link href="layout.css" rel="stylesheet" type="text/css" />
                        <script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
                        <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
                        <link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
                        </head>
                        <body id="page2">
                        <!-- header -->
                        <div class="header_tal">
                          <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="766" height="396">
                            <param name="movie" value="images/header.swf" />
                            <param name="quality" value="high" />
                            <param name="wmode" value="opaque" />
                            <param name="swfversion" value="8.0.35.0" />
                            <!-- Cette balise <param> invite les utilisateurs de Flash Player en version 6.0 r65 et ultérieure à télécharger la version la plus récente de Flash Player. Supprimez-la si vous ne voulez pas que cette invite soit visible. -->
                            <param name="expressinstall" value="Scripts/expressInstall.swf" />
                            <!-- La balise <object> suivante est destinée aux navigateurs autres qu'IE. Supprimez-la d'IE à l'aide d'IECC. -->
                            <!--[if !IE]>-->
                            <object type="application/x-shockwave-flash" data="images/header.swf" width="766" height="396">
                              <!--<![endif]-->
                              <param name="quality" value="high" />
                              <param name="wmode" value="opaque" />
                              <param name="swfversion" value="8.0.35.0" />
                              <param name="expressinstall" value="Scripts/expressInstall.swf" />
                              <!-- Le navigateur affichera le contenu alternatif suivant pour les utilisateurs d'un lecteur Flash de version 6.0 ou de versions plus anciennes. -->
                              <div>
                                <h4>Le contenu de cette page nécessite une version plus récente d’Adobe Flash Player.</h4>
                                <p><a href="https://get.adobe.com/flashplayer/"><img src="https://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtenir le lecteur Adobe Flash" width="112" height="33" /></a></p>
                              </div>
                              <!--[if !IE]>-->
                            </object>
                            <!--<![endif]-->
                          </object>
                        </div>
                        <!-- content -->
                        <div class="content_tal">
                        	<div id="content" class="separate">
                        		<div class="separate1">
                        			<div class="cont_height">&nbsp;</div>
                        			<div class="col_1 green">
                        				<div class="title_green">
                        				  <p><img alt="" src="images/2title1.gif" /></p>
                        				  <p>&nbsp;</p>
                        				  <p>&nbsp;</p>
                        				  <p>&nbsp;</p>
                                      </div>
                        				<div class="indent">
                        				  <ul id="MenuBar1" class="MenuBarVertical">
                                            <li><a href="mailto:nomCorrespondant@nomDomaine.fr">Acc&eacute;der &agrave; la boite e-mail</a></li>
                                            <li><a class="MenuBarItemSubmenu" href="#">Remplir un formulaire</a>
                                              <ul>
                                                <li><a href="form-conge-chef.php">Demande de cong&eacute;</a></li>
                                                <li><a href="form-sortie-chef.php">Demande d'autorisation de sortie</a></li>
                                              </ul>
                                            </li>
                                            <li><a href="#" class="MenuBarItemSubmenu">Consulter les demandes</a>
                                              <ul>
                                                <li><a href="consul-conge-chef.php">Demande de cong&eacute;</a></li>
                                                <li><a href="consul-sortie-chef.php">Demande d'autorisation de sortie</a></li>
                                              </ul>
                                            </li>
                                            <li><a href="#" class="MenuBarItemSubmenu">Traiter un formulaire</a>
                                              <ul>
                                                <li><a href="trait-conge-chef.php">Traiter les demandes de cong&eacute;s</a></li>
                                                <li><a href="trait-sortie-chef.php">Traiter les demandes d'autorisation de sortie</a></li>
                                              </ul>
                                            </li>
                                            <li><a href="planning-chef.php" class="MenuBarItemSubmenu">Planning</a>
                                              <ul>
                                                <li><a href="consul-planning-chef.php">Consulter</a></li>
                                                <li><a href="#" class="MenuBarItemSubmenu">Traiter</a>
                                                  <ul>
                                                    <li><a href="ajout-planning-chef.php">Ajouter</a></li>
                                                    <li><a href="modif-planning-chef.php">Modifier</a></li>
                                                    <li><a href="supp-planning-chef.php">Supprimer</a></li>
                                                  </ul>
                                                </li>
                        </ul>
                                            </li>
                                            <li><a href="#" class="MenuBarItemSubmenu">Aide</a>
                                              <ul>
                                                <li><a href="doc-chef.php">Documentation</a></li>
                                                <li><a href="apropos-chef.php">A propos</a></li>
                                              </ul>
                                            </li>
                                          </ul>
                        <p>&nbsp;</p>
                        				  <p><br clear="all"  />
                        			      </p>
                        				  <div class="indent_text"><br clear="all"  />
                        					</div>
                        				</div>
                        			</div>
                        			<div class="col_2 blue">
                        				<div class="title_blue"><img alt="" src="images/2title2.gif" /></div>
                        				<div class="indent">
                        				  <p><strong>
                        				  <h5>Résultat de la demande :</h5></strong></p>
                        <p>&nbsp;</p>
                         <form  method="post" action="cibleFormCongeChef.php" >
                         <?php
                        include('connex.inc.php');
                        //si tout les données sont bien saisies
                        if( !empty($_POST['matricule']) && !empty($_POST['nom'])&& !empty($_POST['prenom'])&& !empty($_POST['direction'])&& !empty($_POST['affectation'])&& !empty($_POST['service'])&& !empty($_POST['adressedurantleconge']) && !empty($_POST['telephone']) && !empty($_POST['nbjourouvrable']) && !empty($_POST['datedepart']) && !empty($_POST['dateretour']) && !empty($_POST['signatureemploye'])  )
                        {
                        //récupération des données saisies dont des variables
                          $matricule=mysql_escape_string($_POST['matricule']);
                          $nom=mysql_escape_string($_POST['nom']);
                          $prenom=mysql_escape_string($_POST['prenom']);
                          $direction=mysql_escape_string($_POST['direction']);
                          $affectation=mysql_escape_string($_POST['affectation']);
                          $service=mysql_escape_string($_POST['service']);
                          $adressedurantleconge=mysql_escape_string($_POST['adressedurantleconge']);
                          $telephone=mysql_escape_string($_POST['telephone']);
                          $nbjourouvrable=mysql_escape_string($_POST['nbjourouvrable']);
                          $datedepart=mysql_escape_string($_POST['datedepart']);  
                          $dateretour=mysql_escape_string($_POST['dateretour']);
                          $signatureemploye=mysql_escape_string($_POST['signatureemploye']);
                          
                          //Requète SQL
                          $requete="INSERT INTO formulaireconge (matricule, nom, prenom, direction, affectation, service, adressedurantleconge, telephone, nbjourouvrable, datedepart, dateretour, signatureemploye) 
                          VALUES('$matricule','$nom' ,'$prenom', '$direction', '$affectation','$service' , '$adressedurantleconge', '$telephone', '$nbjourouvrable', '$datedepart', '$dateretour',  '$signatureemploye'  )";
                          $idcom=connex('basebank','myparam');
                          $result=mysql_query($requete,$idcom) or die('Erreur SQL !'.mysql_error()); 
                          
                          //si le résultat de la requete est:echoué 'erreur MYSQL
                          if($result)
                          //sinon si resultat=succes
                        
                         {
                        
                         echo "Matricule :".$matricule. "<br>";
                         echo "Nom :".$nom. "<br>";
                         echo "Prénom :".$prenom. "<br>" ;
                         echo "Téléphone:".$telephone. "<br>" ;
                         echo "Direction :".$direction ."<br>";
                         echo "Affectation :".$affectation."<br>";
                         echo "Service :".$service."<br>";
                         echo "Adresse durant le congé :".$adressedurantleconge."<br>";
                         echo "Téléphone :".$telephone."<br>";
                         echo "Nombrede jours ouvrables :".$nbjourouvrable."<br>";
                         echo "Date de départ :".$datedepart."<br>";
                         echo "Date de retour:".$dateretour."<br>";
                         echo "Signature de l'employé:".$signatureemploye."<br>";
                        
                        }
                        }
                          //si l'administrateur ne saisie pa une des données ds le formulaire d'ajout utilisateur
                          
                           else {echo "<h5>Formulaire d'ajout utilisateur à compléter!</h5>";}
                        ?>
                        <p>&nbsp;</p>
                        				  <table width="440" height="42">
                        				    <tr>
                        				      <td width="118"><label>
                        				        <input type="submit" name="revenir" onclick="window.location='form-conge-employe.php';"     id="revenir" value="Revenir" />
                        				      </label></td>
                        				      <td width="118">
                        				        <label>
                        				          <input type="reset" name="imprimer" onClick="javascript:window.print();" id="imprimer" value="Imprimer" />
                        			            </label>
                        			          </td>
                        				      <td width="118">
                        				        <label>
                        				          <input type="submit" name="quitter"  onclick="javascript:window.close()" id="quitter" value="Quitter" />
                        			            </label>
                        			          </td>
                        			        </tr>
                        			      </table>
                                          </form>
                        				  <p>&nbsp;</p>
                        				  <p>&nbsp;</p>
                        				</div>
                        			</div>
                        			<div class="clear"></div>
                        		</div>
                        	</div>
                        </div>
                        <!-- footer -->
                        <div id="footer"><span>BestBank.com.tn &copy; 2009 </span> All Rights Reserved</div>
                        <script type="text/javascript">
                        <!--
                        swfobject.registerObject("FlashID");
                        var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
                        //-->
                        </script>
                        </body>
                        </html>
                        1. Si tu va dans ta table formulaireconge, vois-tu tous les champs insérés par l'employé ?
                          1. Dans ta page de consultation des demandes,
                            remplaces
                            	while($ligne=mysql_fetch_array($result,MYSQL_NUM))
                            	{
                                echo "<tr>";
                                foreach($ligne as $valeur)
                            	  {
                                  echo "<td> $valeur </td>";
                            		}
                            		echo "</tr>";
                            	}

                            par
                            	while($ligne=mysql_fetch_array($result))
                            	{
                                echo "<tr><td>".$ligne['nom']." ".$ligne['prenom']."</td></tr>";
                            	}


                            Alors ?
                            1. Quel est le code de connex.inc.php ? cache les mots de passe, bien entendu !
                              • 1
                              • 2