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. bonjour
    non elle contient
    <?php
    function connex($base,$param)
    {
    include_once($param.".inc.php");
    $idcom=@mysql_connect(MYHOST,MYUSER,MYPASS);
    $idbase=@mysql_select_db($base);
    if(!$idcom | !$idbase)
    {
    echo "<script type=text/javascript>";
    echo "alert('Connexion Impossible a la base $base')</script>";
    }
    return $idcom;
    }
    ?>
    1. La page que tu viens de me donner, ce n'est pas celle là : connex.inc.php ? puisque tu inclus connex.inc.php dans cette page !!
      1. code connexion c ca, et oui lors de l'introduction du mot de passe il est cacher

         <?php
        //connexion a la base de données 
        include("connex.inc.php");
        $idcom=connex("basebank","myparam");
        if(!empty($_POST['login']) && !empty($_POST['motdepasse'])){
        $login = addslashes($_POST['login']);
        $motdepasse = addslashes ($_POST['motdepasse']);
        $req = mysql_query("SELECT * FROM user WHERE login = '$login' AND motdepasse = '$motdepasse'") or die(mysql_error());
        if(mysql_num_rows($req) == 0){
        	Header ("Location: index-rehautentification.php");
        	}else{	
        	$_SESSION['login'] = $login ;
        	$_SESSION['motdepasse'] = $motdepasse ;	
        	if($_POST['grade']=="Administrateur")	Header("Location: index-admin.php");	
        	elseif($_POST['grade']=="Agent de pointage")	Header("Location: index-adp.php");	
        	elseif($_POST['grade']=="Chef hierarchique")	Header("Location: index-chef.php");	
        	elseif($_POST['grade']=="Employe")	Header("Location: index-employe.php");	
        	elseif($_POST['grade']=="Responsable ressource humaine") Header("Location: index-rrh.php");	
        	exit();	
        	}
        }
        ?>
        1. Quel est le code de connex.inc.php ? cache les mots de passe, bien entendu !
          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. Si tu va dans ta table formulaireconge, vois-tu tous les champs insérés par l'employé ?
              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. :-( ca ne donne rien j'ai essayer (pas d'erreur mais pas d'affichage de la 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. 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. 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. 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. 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. 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
                              • 2