Se connecter avec
S'enregistrer | Connectez-vous

Probleme avec les variables de session

Dernière réponse : dans Programmation

j'ai un souci avec mes varibales de session,en fait j'utilise un formulaire pour me connecté,sa marche sans probleme,seulement je veux arriver à gerer un delai d'expiration,si le delai expire alors l'utilisateur est appelé a se reconnecté,j'affiche le formulaire de connexion.voila ce que j'ai fais mais j'ai l'impression que quelque chose cloche la dedans,voici un bout de mon code:

  1. if (isset($_POST["valider"]))
  2. {
  3. $link = mysql_connect("localhost", "root", "pytheas") or die();
  4. $db = mysql_select_db("grh") or die();
  5. $query = "select * from utilisateur where login='" .
  6. addslashes($_POST["utilisateur"]) . "' and password = '"
  7. . addslashes($_POST["password"]) . "'";
  8. $result = mysql_query($query) or die();
  9. $row=mysql_fetch_row($result);
  10. if ($row )
  11. {
  12. $login =$_POST['utilisateur'];
  13. $pass =$_POST['password'];
  14. $_SESSION['login']=$login;
  15. $_SESSION['pass']=$pass;
  16. $_SESSION['date_debut'] = time();//initialisation du debut de la session
  17. if (time() - $_SESSION['date_debut'] >= 300) //si delai depasse 5mn alors se reconnecter
  18. exit('<a href="login.php">delai expiré</a>');//redirection vers le formulaire de connexion
  19. else
  20. $_SESSION['date_debut'] = time();//sinon je raffraichit le debut de la session
  21.  
  22.  
  23. require("acceuil.php");
  24. }

je précise qu'au debut du j'ai ecris session_start()
mais sur ma page acceuil ma session ne s'expire pas,et quand j'ecris en debut de ma page acceuil session_start() suivi de:
  1. <?php
  2. //session_start();
  3. $_SESSION['date_debut'] = time();
  4. if (time() - $_SESSION['date_debut'] >= 300)
  5. { echo 'Session expiré !'; afficheformulaire(); die;}
  6. else
  7. {
  8. $_SESSION['date_debut'] = time();
  9. ?>

il y'a un msg d'erreur du genre:
Notice: A session had already been started - ignoring session_start() in C:\Program Files\EasyPHP 3.0\www\acceuil.php on line 2
quelqu'un pourait-il m'aider.

Autres pages sur : probleme variables session

Lassé par la pub ? Créez un compte

qui peut me montré comment afficher le résultat d'une recherche comportant plusieurs enregistrements de page en page.par exemple si ma requête comporte 20 enregistrement pouvoir les affichés par groupe de 5 sur chaque page,donc logiquement 4 pages.merci.c'est urgent.

merci pour ce lien je l'ai parcouru,il répond à ma question mais j'ai un petit problème.
voila j'ai ecrit tout mon code php sur une seule page en fait en voici le debut:<form name="recherche" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
[/b]
et celui permettant de gerer ma pagination ci-dessous:

  1. echo'<p align="center"> Page:';
  2. for($i=1;$i<=$nbpage;$i++)
  3. {
  4. if($i==$pageActuelle )
  5. echo ' [ '.$i.' ] ';
  6. else
  7. echo'<a href="rechercer.php?page='.$i.'>'.$i.'</a>';
  8. }
  9. echo'</p>';


il affiche effectivement le nombre de page et le numero de la page courante entre crochet [] seulement quand je clique sur le numero de la page suivante il me redirige vers mon formulaire au lieu de la page demandée,je ne sais pas si c'est dû à ce lien là:echo'<a href="rechercer.php?page='.$i.'>'.$i.'</a>';si c'est le cas alors que dois-je faire.Merci

J'espère que ça aidera

  1. <?php
  2. /* Prépare les pages */
  3. $totalDesMessages = 150;
  4. $nombreDeMessagesParPage = 15;
  5.  
  6. // 150 / 15 arrondis = 10
  7. $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
  8.  
  9.  
  10. /* Nombre de pages */
  11. // Ternaire qui dit "Si $_GET['page'] n'hesite pas => 1 Sinon on contraint le numérique avec intval()
  12. $page = (!isset($_GET['page'])) ? 1 : intval($_GET['page']);
  13.  
  14. // On est sur la page 2, donc 2 - 1 *15 (qui est le nombre de message) = 15
  15. $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
  16. $DerniereMessageAafficher = $premierMessageAafficher + $nombreDeMessagesParPage;
  17.  
  18. // $premierMessageAafficher a la valeur 15 et le nombre
  19. $requete =mysql_query("SELECT *
  20. FROM table
  21. LIMIT " . $premierMessageAafficher . ", " . $DerniereMessageAafficher . " ")or die(mysql_error());
  22. ?>



Ca a l'air compliqué comme ça, et pourtant...

  1. <?php
  2. for ($i = 1 ; $i <= $nombreDePages ; $i++)
  3. { /* On affiche pas la page actuelle en lien */
  4. if ($i == $page) {echo $i;}
  5. else{echo '<a href="messagerie-consulter.php?page=' . $i .'">' . $i . '</a> ';}
  6. }
  7. ?>



Voilà, compliqué comme dire bonjour

A la fin chaqu'un des enregistrements renvoyés par "SELECT",j'ai deux boutons supprimer et ajouter,j'aimerais qu'au click par exemple du bouton Supprimer,une confirmation me soit demandée avant de procéder à la suppression réelle de l'enregistrement en question,pouvez vous me guider sur la logique à suivre?comme exactement l'interface de PhpMyAdmin.j'ai tenté d'utilisé une fonction javascript pour gerer la confirmation que voici:

  1. <script type="text/JavaScript">
  2. function onSupprimer()
  3. {
  4. for (i = 0; i < document.rechercher.elements.length; i++)
  5. if (document.rechercher.elements[i].supp.value) /*supp=nom du bouton supprimer*/
  6. if (confirm("Êtes-vous sûr de vouloir supprimer cet employé?"))
  7. {
  8. document.rechercher.action="supprimer.php";
  9. document.rechercher.submit();
  10. }
  11. }


et puis

  1. if(isset($_POST['supp']))
  2. {
  3. $_nbr=mysql_query("select count(numero) from employes");
  4. for($a=1;$a<=$nbr;$a++)
  5.  
  6.  
  7. }


mais je me rends compte que cette logique supprimera tout mes enregistrements.

je pensais à créer un tableau à 2 dimensions qui contiendrai le nombre total d'enregistrement de ma base et le nombre de champs du genre:

employe[total][champ] et créer un compteur qui pour l'enregistrement i selectionné le supprimera.je ne sais pas si ma logique tient?
Expert Programmation

Salut,

Est-ce que tu pourrais fournir le code HTML de ton formulaire.
En ajoutant un onsubmit sur ton form, tu devrais pouvoir annuler la suppression si tu réponds non.

Quelque chose du genre:
  1. <form ... onsubmit='return confirm("Etes vous sûr ?");'>
  2. ...
  3. </form>

voici en fait le code qui me permet d'avoir mes enregistrements je je range dans un tableau.ces enregistrements proviennent en fait a partir d'un formulaire que l'utilisateur aura rempli.c'est à ce tableau qui contient les enregistrements là que je veux associer mes boutons "Supprimer" et "Modifier" voici le code:

<table width="1000" height="100" align="center" border="" bordercolor="#33ff33" bgcolor="#CC3366">
<tr>
<td ><b>Numero</b></td>
<td ><b>Nom</b></td>
<td ><b>Prenom</b></td>
<td ><b>genre</b></td>
<td ><b>Date de Naissance</b></td>
<td><b>Date D\'embauche</b></td>
<td ><b>Salaire Brut</b></td>
<td ><b>Sitmat</b></td>
<td ><b>Nombre D\'enfant</b></td>
<td ><b>Telephone</b></td>
<td ><b>Email</b></td>
<td ><b>Loisir</b></td>
</tr>
<?php
while($row=mysql_fetch_array($result))
{
?>
<tr>
<td width="100"><?php echo $row[0];?></td>
<td width="100"><?php echo $row[1];?></td>
<td width="100"><?php echo $row[2];?></td>
<td width="100"><?php echo $row[3];?></td>
<td width="100"><?php echo $row[4];?></td>
<td width="100"><?php echo $row[5];?></td>
<td width="100"><?php echo $row[6];?></td>
<td width="100"><?php echo $row[7];?></td>
<td width="100"><?php echo $row[8];?></td>
<td width="100"><?php echo $row[9];?></td>
<td width="100"><?php echo $row[10];?></td>
<td width="100"><?php echo $row[12];?></td>
<td width="100"><input type="submit" name="modif" value="Modifier" />/*bouton à la fin de la derniere colone, pour me permettre de supprimer l'enregistrement en question*/
<td width="100"><input type="submit" name="supp" value="Supprimer" onClick="return onSupprimer();" />
</tr>
aidez avec la façon de pouvoir le faire.Merci

Mon problème est le suivant :
J’ai organisé les enregistrements renvoyés par mon select dans un tableau,et pour chacun d’eux j’ai mis un bouton « Supprimer » à la fin,de sorte que l’utilisateur puisse supprimer l’enregistrement si
Il le souhaite.Lorsque l’utilisateur clique sur le bouton supprimer,une boite de dialogue lui demandant confirmation apparait,s’il clique sur ok il y’a suppression dudit enregistrement sinon rien ne se passe .seulement je ne sais pas comment écrire le code,y’a-t-il quelqu’un qui puisse m’aider avec le code de cet algo ?c’est urgent.merci d’avance.
Expert Programmation

Bah il faut avoir l'ID de ton élément à supprimer, que tu mets dans un input de type hidden par exemple.
Et quand tu valideras la suppression, tu auras ton ID dans une variable PHP.
Expert Programmation

HTML:
  1. <td width="100"><input type="submit" name="modif" value="Modifier" />
  2. <td width="100"><input type="hidden" name="numero" value="<?php echo $row['numero']; ?>" /> <input type="submit" name="supp" value="Supprimer" onClick="return onSupprimer();" />


Et pour supprimer l'élément, exécuter une requête SQL suffit:
  1. DELETE FROM employes WHERE numero = $_POST['numero']


(C'est la requête minimale, mais il va falloir l'arranger pour ne pas avoir de problème d'SQL Injection par exemple)

j'ai un un autre problème concernant la pagination,quand je clique sur la page suivante il ne m'amène pas sur la page mais sur le formulaire.je ne sais pas pouquoi?
voici mon code:

  1. $nb_par_page = 6;
  2. $nb_total=mysql_query( "SELECT COUNT(numero) as total FROM employes");
  3. $row =mysql_fetch_assoc($nb_total);
  4. $total=$row['total'];
  5. $nbpage=ceil($total/$nb_par_page);
  6. if(isset($_GET['page']))
  7. {
  8. $pageActuelle=intval($_GET['page']);
  9. if($pageActuelle > nbpage)
  10. $pageActuelle =nbpage;
  11. }
  12. else
  13. $pageActuelle=1;
  14. $premierElement = ($pageActuelle -1) * $nb_par_page;
  15. $query.=sprintf(" LIMIT %d,%d;",$premierElement,$nb_par_page);
  16. $result=mysql_query($query);
  17. $row=mysql_fetch_array($result);
  18. if(!$row)
  19. echo'ancun resultat';
  20. else
  21. {
  22. ?>
  23. <table width="1000" height="100" align="center" border="" bordercolor="#33ff33" bgcolor="#CC3366">
  24. <tr>
  25. <td ><b>Numero</b></td>
  26. <td ><b>Nom</b></td>
  27. <td ><b>Prenom</b></td>
  28. <td ><b>genre</b></td>
  29. <td ><b>Date de Naissance</b></td>
  30. <td><b>Date D\'embauche</b></td>
  31. <td ><b>Salaire Brut</b></td>
  32. <td ><b>Sitmat</b></td>
  33. <td ><b>Nombre D\'enfant</b></td>
  34. <td ><b>Telephone</b></td>
  35. <td ><b>Email</b></td>
  36. <td ><b>Loisir</b></td>
  37. </tr>
  38. <?php
  39.  
  40. while($row=mysql_fetch_array($result))
  41. {
  42. ?>
  43.  
  44. <tr>
  45. <td width="100"><?php echo $row[0];?></td>
  46. <td width="100"><?php echo $row[1];?></td>
  47. <td width="100"><?php echo $row[2];?></td>
  48. <td width="100"><?php echo $row[3];?></td>
  49. <td width="100"><?php echo $row[4];?></td>
  50. <td width="100"><?php echo $row[5];?></td>
  51. <td width="100"><?php echo $row[6];?></td>
  52. <td width="100"><?php echo $row[7];?></td>
  53. <td width="100"><?php echo $row[8];?></td>
  54. <td width="100"><?php echo $row[9];?></td>
  55. <td width="100"><?php echo $row[10];?></td>
  56. <td width="100"><?php echo $row[12];?></td>
  57. <td width="100"><input type="submit" name="modif" value="Modifier" />
  58. <td width="100"><input type="submit" name="supp" value="Supprimer" id="<?php echo $row[0];?></td>" onClick="return onSupprimer();" />
  59. </tr>
  60. <?php
  61. }//fin while
  62. echo'<p align="center"> Page:';
  63. for($i=1;$i<=$nbpage;$i++)
  64. {
  65. if($i==$pageActuelle )
  66. echo ' [ '.$i.' ] ';
  67. else
  68. echo '<a href="rechercer.php?page='.$i.'">Page '.$i.'</a> - ';
  69. /*recherce est le nom de mon formulaire*/
  70. }
  71. echo'</p>';
  72.  
  73.  
  74. }//fin pti else
  75. }//fin du grd
Expert Programmation

A mon avis, il va nous falloir le code qu'il y a avant ça.
S'il t'amène sur la page 1, tu as un soucis au niveau de la pagination, mais s'il t'amène sur ton formulaire (qu'est ce que ton formulaire d'ailleurs ?), c'est que y'a quelque chose avant qui le fait aller sur le formulaire.


Et niveau clareté, c'est certainement mieux d'avoir deux pages différentes, une qui affiche les détails (page 1, page 2...) et une qui affiche ton formulaire, ça évite de se perdre...


Et au passage, en faisant :
  1. $result=mysql_query($query);
  2. $row=mysql_fetch_array($result);
  3. if(!$row)
  4. echo'ancun resultat';


Ta 2ème ligne récupère les premières données récupérées par ta requête SQL, et elles ne seront jamais affichées.
Tu as la fonction mysql_num_rows pour savoir le nombre de ligne, et si c'est égal à 0 afficher "aucun résultat".

voici le code de mon formulaire,en fait c'est formulaire multicritère demandant à l'utilisateur d'entrer ou de cocher ces critères en fonction desquels une recherche est faites dans la bd et les résultats,s'il en existe plusieurs sont affichés de page en page.voici le code de mon formulaire en question,il est un peu long,et c'est net après ce code que vient celui de la pagination posté en haut:

  1. <body>
  2. <?php
  3. function afficherformulaire ($u = '', $error = '')
  4. {
  5. if ($error != '')
  6. echo '<font color="red">' . $error . '</font>';
  7. ?>
  8. <form name="recherche" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  9. <table width="800" border="0" align="center" height="75" bgcolor="#0099FF">
  10. <tr>
  11. <td width="500" align="center" colspan="2" height="0">
  12. <h1><b><font color="#FF0000"><marquee>Ceci est un formulaire de rechercher entrez y vos critères.</marquee></font></b></h1>
  13. </td>
  14. <tr><td width="792" colspan="2">
  15. <b>Numero</b>
  16. <input type="text" name="numero" />
  17. </td>
  18. </tr>
  19. <tr><td width="792">
  20. <b>Nom</b>
  21. <input type="text" name="nom" />
  22. </td></tr>
  23. <tr><td width="792"><b>Prenom</b>
  24. <input type="text" name="prenom" />
  25. </td></tr>
  26. <tr><td width="792">
  27. <b>Genre</b>
  28. <input type="radio" name="genre" value="masculin" />Masculin<input type="radio" name="genre" value="feminin"/>Feminin</td></tr>
  29. <tr><td width="792">
  30. <b>Date de Naissance:</b>
  31. <input type="radio" name="datnaiss" value="moins" />Moins de 30 ans<input type="radio" name="datnaiss" value="plus" />Plus de 30 ans
  32. </td></tr>
  33. <tr><td width="792">
  34. <b>Date D'embauche:</b>
  35. <input type="radio" name="datemb" value="inferieur" />Inferieur ou égale à 2000<input type="radio" name="datemb" value="superieur" />Supérieur à 2000
  36. </td></tr>
  37. <tr><td width="792">
  38. <b>Salaire Brut:</b>
  39. <input type="radio" name="salbrut" value="minore" />compris entre [0-150000]<input type="radio" name="salbrut" value="majore" />Entre [15000-et plus]
  40. </td></tr>
  41. <tr><td width="792">
  42. <b>Situation Matrimoniale:</b>
  43. <input type="radio" name="sitmat" value="celibataire" />Celibataire<input type="radio" name="sitmat" value="marie" />Marié<input type="radio" name="sitmat" value="veuf" />Veuf<input type="radio" name="sitmat" value="divorce" />Divorcé
  44. </td></tr>
  45. <tr><td width="792">
  46. <b>Nombre D'enfants:</b>
  47. <input type="radio" name="nbenf" value="plusde" />Plus de 5<input type="radio" name="nbenf" value="moinsde" />Moins de 5
  48. </td></tr>
  49. <tr><td width="792">
  50. <b>Numero de Télephone:</b>
  51. <input type="text" name="tel" /><br/>
  52. </td></tr>
  53. <tr><td width="792">
  54. <b>Email:</b>
  55. <input type="text" name="mail" /><br/>
  56. </td></tr>
  57.  
  58. <tr>
  59.  
  60. <td>
  61. <b>Loisir:</b>
  62. <input type="radio" name="loisir" value="cinema"/>Cinema
  63. <input type="radio" name="loisir" value="musique"/>Musique
  64. <input type="radio" name="loisir" value="litterature"/>Littérature
  65. <input type="radio" name="loisir" value="sport"/>Sport
  66. <input type="radio" name="loisir" value="religion"/>Religion
  67. <input type="radio" name="loisir" value="telesision"/>Télévision
  68. <input type="radio" name="loisir" value="politique"/>Politique
  69. </td>
  70. </tr>
  71. <tr><td width="792" align="center"><input type="submit" name="valider" value="rechercher" /></td></tr>
  72. </table>
  73. </form>
  74. <?php
  75. }//fin fonction
  76. ?>
  77. <!--<script type="text/JavaScript">
  78. function onSupprimer()
  79. {
  80. <a href="?action=delete&id='.$id.'" onclick="return confirm('Supprimer ? OK = oui, Annuler = Non');" value="supprimer">Supprimer cet employé</a>
  81. }
  82. </script>-->
  83.  
  84.  
  85.  
  86. <?php
  87. if(!isset($_GET['valider']))
  88. afficherformulaire();
  89. else
  90. {
  91. $link=mysql_connect("localhost","root","pytheas");
  92. $db=mysql_select_db("grh");
  93.  
  94. $genre=$_GET['genre'];
  95. $numero=$_GET['numero'];
  96. $nom=$_GET['nom'];
  97. $prenom=$_GET['prenom'];
  98. $nbenf=$_GET['nbenf'];
  99. $datnaiss =$_GET['datnaiss'];
  100. $datemb=$_GET['datemb'];
  101. $salbrut=$_GET['salbrut'];
  102. $tel=$_GET['tel'];
  103. $mail=$_GET['mail'];
  104. $sitmat=$_GET['sitmat'];
  105. $loisir=$_GET['loisir'];
  106.  
  107. if($genre!='')
  108. $query="select * from employes where genre='".$genre."'";
  109. if($nom!='')
  110. $query="select * from employes where nom= '".$nom."'";
  111. if($prenom!='')
  112. $query="select * from employes where prenom= '".$prenom."'";
  113. if(($nbenf!='')&&($nbenf=='plusde'))
  114. $query="SELECT * FROM employes WHERE nbenf >=5 ";
  115. if(($nbenf!='')&&($nbenf=='moinsde'))
  116. $query="select * from employes where nbenf < 5";
  117. if($tel!='')
  118. $query="select * from employes where tel= '".$tel."'";
  119. if($mail!='')
  120. $query="select * from employes where email like '".$mail."'";
  121. if($numero!='')
  122. $query="select * from employes where numero= '".$numero."'";
  123. if(($salbrut!='') &&($salbrut=='minore'))
  124. $query="select * from employes where salbrut < 150000";
  125. if(($salbrut!='')&& ($salbrut=='majore'))
  126. $query="select * from employes where salbrut >=150000";
  127. if(($datnaiss!='')&& ($datnaiss=='moins'))
  128. $query="SELECT * FROM employes WHERE (date_format( now( ) , '%Y' ) - substr( datnaiss, 1, 4 ))<30";
  129. if(($datnaiss!='')&& ($datnaiss=='plus'))
  130. $query="SELECT * FROM employes WHERE (date_format( now( ) , '%Y' ) - substr( datnaiss, 1, 4 ) ) >=30";
  131. if(($datemb!='')&& ($datemb=='inferieur'))
  132. $query="select * from employes where substr(datembauche,1,4) <2000";
  133. if(($datemb!='')&& ($datemb=='superieur'))
  134. $query="select * from employes where substr(datembauche,1,4)>=2000";
  135. if($sitmat!='')
  136. $query="select * from employes where sitmat='".$sitmat."'";
  137. if($loisir!='')
  138. $query="select * from employes where loisir='".$loisir."'";


je tient qu'il affiche les resultat sur la premiere ,mais dès que je clique sur le lien de la page suivante il me ramène sur mon formulaire,je me demande si je ne doit pas créer des variables de session pour les envoyer de page en page.

Expert Programmation

D'accord, je vois.

C'est tout simplement parce que tu ne repasses pas les valeurs de ton formulaire quand tu passes à la page suivante, tu appelles seulement "rechercher.php?page=2", sans spécifier tous les paramètres qui avaient déjà été saisis.

Deux solutions: soit tu les repasses, soit tu les stockes pour les réutiliser en page 2.

ok si vous aussi vous pensez aux variables de session donc c'est cela mon probleme,mais c'est exactement ou que je dois les déclarées,je pensais à les déclarées net après le:while($row=mysql_fetch_array($result))
comme çà:
while($row=mysql_fetch_array($result))
{
/* là, à ce niveau,je ne sais pas si c'est le bon endroit*/
$nbre++;
$_SESSION['nom'] = $_GET['nom'];
$_SESSION['prenom'] =$_GET['prenom'];

?>

<tr>
<td width="100"><?php echo $row[0];?></td>
<td width="100"><?php echo $row[1];?></td>
<td width="100"><?php echo $row[2];?></td>
<td width="100"><?php echo $row[3];?></td>
<td width="100"><?php echo $row[4];?></td>
<td width="100"><?php echo $row[5];?></td>
<td width="100"><?php echo $row[6];?></td>
<td width="100"><?php echo $row[7];?></td>
<td width="100"><?php echo $row[8];?></td>
<td width="100"><?php echo $row[9];?></td>
<td width="100"><?php echo $row[10];?></td>
<td width="100"><?php echo $row[12];?></td>
<form name="gererbouton" method="get"action=""/></td>
<td width="100"><input type="submit" name="modif" value="Modifier" /></td>
<td width=""><td width="100"><input type="hidden" name="numero" value="<?php echo $row[0]; ?>" /><input type="submit" name="supp" value="Supprimer"onClick="return onSupprimer();" /></td>

</tr>
Expert Programmation

Si tu les déclares dans une boucle while, ça va s'exécuter autant de fois qu'il y a d'éléments dans ta requête.
Il n'y a aucun rapport entre les paramètres passés de ton formulaire et les résultats de ta requête SQL. Aucune raison de mettre ça dans le while.
Tu mets ça tout simplement au début de ton script, une fois que tu as récupérés les valeurs.

j'ai un problème que je n'arrive toujours pas à resoudre,ce qui fais buggué peut-etre mon code.j'utilise des boutons radio dans mon formulaire,mais il se trouve que le système trouve des erreurs dans les noms de ces variables,ce qui m'etonne vraiment,j'ai vérifier à plusieurs reprise sans appercevoir la moindre petite erreur,il me met des erreur du genre:
Notice: Undefined index: nbenf in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 107

Notice: Undefined index: datnaiss in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 108

Notice: Undefined index: datemb in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 109

Notice: Undefined index: salbrut in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 110

Notice: Undefined index: sitmat in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 113

Notice: Undefined index: loisir in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 114
et c'est lignes sont les lignes ou il existe des boutons radio,ce qui paralyse mes requetes puisque le système ne reconnait plus ces variables,en plus cela m'empèche réelement d'évoluer,prière à vous de m'aider.Merci

j'oubliais voici le code de mon formulaire:
  1. <?php session_start(); ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">
  3. <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <title>Aout</title>
  7. </head>
  8.  
  9. <body>
  10. <?php
  11.  
  12. function afficherformulaire ($u = '', $error = '')
  13. {
  14. if ($error != '')
  15. echo '<font color="red">' . $error . '</font>';
  16. ?>
  17. <form name="recherche" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  18. <table width="800" border="0" align="center" height="75" bgcolor="#0099FF">
  19. <tr>
  20. <td width="500" align="center" colspan="2" height="0">
  21. <h1><b><font color="#FF0000"><marquee>Ceci est un formulaire de rechercher entrez y vos critères.</marquee></font></b></h1>
  22. </td>
  23. <tr><td width="792" colspan="2">
  24. <b>Numero</b>
  25. <input type="text" name="numero" />.
  26. </td>
  27. </tr>
  28. <tr><td width="792">
  29. <b>Nom</b>
  30. <input type="text" name="nom" />
  31. </td></tr>
  32. <tr><td width="792"><b>Prenom</b>
  33. <input type="text" name="prenom" />
  34. </td></tr>
  35. <tr><td width="792">
  36. <b>Genre</b>
  37. <input type="radio" name="genre" value="masculin" />Masculin<input type="radio" name="genre" value="feminin"/>Feminin</td></tr>
  38. <tr><td width="792">
  39. <b>Date de Naissance:</b>
  40. <input type="radio" name="datnaiss" value="moins" />Moins de 30 ans<input type="radio" name="datnaiss" value="plus" />Plus de 30 ans
  41. </td></tr>
  42. <tr><td width="792">
  43. <b>Date D'embauche:</b>
  44. <input type="radio" name="datemb" value="inferieur" />Inferieur ou égale à 2000<input type="radio" name="datemb" value="superieur" />Supérieur à 2000
  45. </td></tr>
  46. <tr><td width="792">
  47. <b>Salaire Brut:</b>
  48. <input type="radio" name="salbrut" value="minore" />compris entre [0-150000]<input type="radio" name="salbrut" value="majore" />Entre [15000-et plus]
  49. </td></tr>
  50. <tr><td width="792">
  51. <b>Situation Matrimoniale:</b>
  52. <input type="radio" name="sitmat" value="celibataire" />Celibataire<input type="radio" name="sitmat" value="marie" />Marié<input type="radio" name="sitmat" value="veuf" />Veuf<input type="radio" name="sitmat" value="divorce" />Divorcé
  53. </td></tr>
  54. <tr><td width="792">
  55. <b>Nombre D'enfants:</b>
  56. <input type="radio" name="nbenf" value="plusde" />Plus de 5<input type="radio" name="nbenf" value="moinsde" />Moins de 5
  57. </td></tr>
  58. <tr><td width="792">
  59. <b>Numero de Télephone:</b>
  60. <input type="text" name="tel" /><br/>
  61. </td></tr>
  62. <tr><td width="792">
  63. <b>Email:</b>
  64. <input type="text" name="mail" /><br/>
  65. </td></tr>
  66.  
  67. <tr>
  68.  
  69. <td>
  70. <b>Loisir:</b>
  71. <input type="radio" name="loisir" value="cinema"/>Cinema
  72. <input type="radio" name="loisir" value="musique"/>Musique
  73. <input type="radio" name="loisir" value="litterature"/>Littérature
  74. <input type="radio" name="loisir" value="sport"/>Sport
  75. <input type="radio" name="loisir" value="religion"/>Religion
  76. <input type="radio" name="loisir" value="telesision"/>Télévision
  77. <input type="radio" name="loisir" value="politique"/>Politique
  78. </td>
  79. </tr>
  80. <tr><td width="792" align="center"><input type="submit" name="valider" value="rechercher" /></td></tr>
  81. </table>
  82. </form>
  83. <?php
  84. }//fin fonction
  85. ?>

salut,j'ai un soucie que j'aimerais partage avec vous afin que vous m'aidez.j'utilise 3 champs de sélection dans un formulaire d'ajout d'enregistrement dans ma base,afin de gérer les dates,2 dates donc 6 champs de sélection,mon insertion fonctionne sans problème,mais dans la modification de l'enregistrement j'ai un souci,j'utilise en fait une fonction "afficherformulaire()" qui me permet lorsque l'utilisateur clique sur le bouton modifié de l'enregistrement qu'il souhaite modifier d'afficher le formulaire avec en parametre ces informations,donc formulaire affiché avec les valeurs dans les differents champs,j'ai réussit à gerer le cas du bouton radio genre,c'est à dire qu'à laffichage du formulaire si l'utilisateur est du genre "masculin" masculin est coché s'il est du genre" feminin " feminin est coché egalement,mais je ne sais pas comment pouvoir gerer le cas des champs de selection à l'affichage.je voudrais que lors de l'affichage,il affiche dans les champs correspondants les valeurs jour, mois,et année.voici le code de ma fonction afficherformulaire():excuser moi pour sa longueur:

  1. function afficherformulaire ($num='',$nom='',$prenom='',$genre='masculin',$dn='',$de='',$sal='',$error = '')
  2. {
  3. if ($error != '')
  4. echo '<font color="red">' . $error . '</font>';
  5. ?>
  6. <form name="form1" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  7. <input type="hidden"name="MAX_FILE_SIZE"value="1000000">
  8. <table width="800" height="200" border="0" bgcolor="#FFFFCC">
  9. <td><b>Numero:</b></td><td width="492"><input type="text" name="numero" value="<?php echo $num; ?>"> <br/></td>
  10. </tr>
  11. <tr>
  12. <td><b>Nom:</b></td><td><input type="text" name="nom" value="<?php echo $nom; ?>"><br/></td>
  13. </tr>
  14. <tr>
  15. <td><b>Prenom: </b></td> <td><input type="text" name="prenom" value="<?php echo $prenom; ?>" %2

c'est vrai,je vous remet le code:


  1. function afficherformulaire ($num='',$nom='',$prenom='',$genre='masculin',$dn='',$de='',$sal='',$error = '')
  2. {
  3. if ($error != '')
  4. echo '<font color="red">' . $error . '</font>';
  5. ?>
  6. <form name="form1" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  7. <input type="hidden"name="MAX_FILE_SIZE"value="1000000">
  8. <table width="800" height="200" border="0" bgcolor="#FFFFCC">
  9. <td><b>Numero:</b></td><td width="492"><input type="text" name="numero" value="<?php echo $num; ?>"> <br/></td>
  10. </tr>
  11. <tr>
  12. <td><b>Nom:</b></td><td><input type="text" name="nom" value="<?php echo $nom; ?>"><br/></td>
  13. </tr>
  14. <tr>
  15. <td><b>Prenom: </b></td> <td><input type="text" name="prenom" value="<?php echo $prenom; ?>" /><br/></td>
  16. </tr>
  17. <tr>
  18. <td><b>Genre:</b></td><td><input type="radio" name="genre" value="masculin" <?php if ($genre=='masculin') echo 'checked'; ?>/>Masculin<input type="radio" name="genre" value="feminin" <?php if ($genre=='feminin') echo 'checked'; ?>/>Feminin<br/></td>
  19. </tr>
  20. <tr>
  21. <td><b>Date de Naissance:</b></td>
  22. <td>
  23. <select name="jour">
  24. <option value="01">01</option>
  25. <option value="02">02</option>
  26. <option value="03">03</option>
  27. <option value="04">04</option>
  28. <option value="05">05</option>
  29. <option value="06">06</option>
  30. <option value="07">07</option>
  31. <option value="08">08</option>
  32. <option value="09">09</option>
  33. <option value="10">10</option>
  34. <option value="11">11</option>
  35. <option value="12">12</option>
  36. <option value="13">13</option>
  37. <option value="14">14</option>
  38. <option value="15">15</option>
  39. <option value="16">16</option>
  40. <option value="17">17</option>
  41. <option value="18">18</option>
  42. <option value="19">19</option>
  43. <option value="20">20</option>
  44. <option value="21">21</option>
  45. <option value="22">22</option>
  46. <option value="23">23</option>
  47. <option value="24">24</option>
  48. <option value="25">25</option>
  49. <option value="26">26</option>
  50. <option value="27">27</option>
  51. <option value="28">28</option>
  52. <option value="29">29</option>
  53. <option value="30">30</option>
  54. <option value="31">31</option>
  55. </select>
  56.  
  57. <select name="mois">
  58. <option value="01" >01</option>
  59. <option value="02" >02</option>
  60. <option value="03" >03</option>
  61. <option value="04" >04</option>
  62. <option value="05" >05</option>
  63. <option value="06" >06</option>
  64. <option value="07" >07</option>
  65. <option value="08" >08</option>
  66. <option value="09" >09</option>
  67. <option value="10">10</option>
  68. <option value="11">11</option>
  69. <option value="12">12</option>
  70. </select>
  71. <select name="anne">
  72. <option value="1900" >1900</option>
  73. <option value="1901" >1901</option>
  74. <option value="1902" >1902</option>
  75. <option value="1903" >1903</option>
  76. <option value="1904" >1904</option>
  77. <option value="1905" >1905</option>
  78. </select></td>
  79. </tr>
  80. <tr>
  81. <td><b>Date D'embauche:</b></td>
  82. <td> <select name="jouremb">
  83. <option value="01">01</option>
  84. <option value="02">02</option>
  85. <option value="03">03</option>
  86. <option value="04">04</option>
  87. <option value="05">05</option>
  88. <option value="06">06</option>
  89. <option value="07">07</option>
  90. <option value="08">08</option>
  91. <option value="09">09</option>
  92. <option value="10">10</option>
  93. <option value="11">11</option>
  94. <option value="12">12</option>
  95. <option value="13">13</option>
  96. <option value="14">14</option>
  97. <option value="15">15</option>
  98. <option value="16">16</option>
  99. <option value="17">17</option>
  100. <option value="18">18</option>
  101. <option value="19">19</option>
  102. <option value="20">20</option>
  103. <option value="21">21</option>
  104. <option value="22">22</option>
  105. <option value="23">23</option>
  106. <option value="24">24</option>
  107. <option value="25">25</option>
  108. <option value="26">26</option>
  109. <option value="27">27</option>
  110. <option value="28">28</option>
  111. <option value="29">29</option>
  112. <option value="30">30</option>
  113. <option value="31">31</option>
  114. </select>
  115.  
  116. <select name="moisemb">
  117. <option value="01" >01</option>
  118. <option value="02" >02</option>
  119. <option value="03" >03</option>
  120. <option value="04" >04</option>
  121. <option value="05" >05</option>
  122. <option value="06" >06</option>
  123. <option value="07" >07</option>
  124. <option value="08" >08</option>
  125. <option value="09" >09</option>
  126. <option value="10">10</option>
  127. <option value="11">11</option>
  128. <option value="12">12</option>
  129. </select>
  130. <select name="anneemb">
  131. <option value="1900" >1900</option>
  132. <option value="1901" >1901</option>
  133. <option value="1902" >1902</option>
  134. <option value="1903" >1903</option>
  135. <option value="1904" >1904</option>
  136. <option value="1905" >1905</option>
  137. </select></td>
  138. </tr>
  139. <tr>
  140. <td><b>Salaire Brut:</b></td><td><input type="text" name="salbrut" value="<?php echo $sal; ?>"/><br/></td>
  141. </tr>
  142. <tr>
  143. <td width="172"><b>Situation Matrimoniale:</b></td>
  144. <td><input type="radio" name="sitmat" value="celibataire" checked="checked"/>Celibataire<input type="radio" name="sitmat" value="marie" />Marié<input type="radio" name="sitmat" value="veuf" />Veuf<input type="radio" name="sitmat" value="divorce" />Divorcé<br/></td>
  145. </tr>
  146. <tr>
  147. <td><b>Nombre D'enfants:</b></td><td><input type="text" name="nbenf" /><br/></td>
  148. </tr>
  149. <tr>
  150. <td width="172"><b>Numero de Télephone:</b></td>
  151. <td><input type="text" name="tel" /><br/></td>
  152. </tr>
  153. <tr>
  154. <td><b>Email:</b></td><td><input type="=text" name="mail" /><br/></td>
  155. </tr>
  156. <tr>
  157. <td><b>Photo:</b></td><td><input type="file" name="maphoto" /><br/></td>
  158. </tr>
  159. <tr>
  160. <td><b>Loisirs: </b></td><td><input type="radio" name="loisir" value="cinema" />Cinéma<input type="radio" name="loisir" value="musique" checked="checked" />musique<input type="radio" name="loisir" value="litterature" />Littérature<input type="radio" name="loisir" value="sport" />Sport<input type="radio" name="loisir" value="religion" />Réligion<input type="radio" name="loisir" value="television" />Télévision<input type="radio" name="loisir" value="politique" />Politique<br/></td>
  161. </tr>
  162. <tr>
  163. <form name="sauve" method="get" action="sauvegarder.php">
  164. <td align="center" colspan="2"><input type="hidden" name="numero" value="<?php echo $row[0]; ?>" /><input type="submit" name="valider" value="sauvegarder"/></td>
  165. </form>
  166. </tr>
  167. </table>
  168. </form>
  169. <?php
  170. }//fin fonction
  171.  
  172.  
  173. $id = $_GET['numero'];
  174. $query ="select * from employes where numero = $id";
  175. $result=mysql_query($query);
  176. // $row=mysql_fetch_array($result);
  177. while($row=mysql_fetch_array($result))
  178. {
  179. afficherformulaire($row[0],$row[1],$row[2],$row[3],$row[6],'');
  180. die();
  181. }
  182. $jr=$_POST['jouremb'];
  183. $ms=$_POST['moisemb'];
  184. $an=$_POST['anneemb'];
  185. $dat2="".$an."-".$ms."-".$jr." ";
  186. $jour=$_POST['jour'];
  187. $mois=$_POST['mois'];
  188. $annee=$_POST['anne'];
  189. $dat="".$annee."-".$mois."-".$jour." ";
  190. $numero=$_POST['numero'];
  191. $nom=$_POST['nom'];
  192. $prenom=$_POST['prenom'];
  193. $genre=$_POST['genre'];
  194. $salbrut=$_POST['salbrut'];
  195. $sitmat=$_POST['sitmat'];
  196. $nbenf=$_POST['nbenf'];
  197. $tel=$_POST['tel'];
  198. $mail=$_POST['mail'];
  199. $photo=$_FILES['maphoto'];
  200. $loisir=$_POST['loisir'];
  201.  
  202. /*ce sont ces variables qu'il ne reconnait pas,il met notice:indefined index pour chaqu'un d'eux,pourtant c'est le meme formulaire que j'ai utilisé pour l'insertion mais là bas il ne me signale pas ce type de remarque*/
  203. if($nom==''||$prenom=='')
  204. {
  205. afficherformulaire($numero,$nom,$prenom,"VEUILLEZ RENSEIGNER TOUS LES CHAMPS");
  206. die();
  207. }
  208. // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
  209. if (isset($_FILES['maphoto']) AND $_FILES['maphoto']['error'] == 0)
  210. {
  211. // Testons si le fichier n'est pas trop gros
  212. if ($_FILES['maphoto']['size'] <= 1000000)
  213. {
  214. // Testons si l'extension est autorisée
  215. $infosfichier = pathinfo($_FILES['maphoto']['name']);
  216. $extension_upload = $infosfichier['extension'];
  217. $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png','JPEG');
  218. if (in_array($extension_upload, $extensions_autorisees))
  219. {
  220. move_uploaded_file($_FILES['maphoto']['tmp_name'], 'DossierImage/' . basename($_FILES['maphoto']['name']));
  221. $fichier="DossierImage/".$_FILES['maphoto']['name'];
  222. }else
  223. {
  224. afficherformulaire($numero,$nom,$prenom,"Le type de fichier n'est pas supporté");
  225. die();
  226. }
  227. //echo"Le type de fichier n'est pas supporté";
  228. }
  229. else
  230. {
  231. afficherformulaire($numero,$nom,$prenom,"La taille de la photo est trop grande");
  232. die();
  233. }
  234. }
  235. le code de "sauvegarder.php":
  236.  
  237. $link=mysql_connect("localhost","root","pytheas");
  238. $db=mysql_select_db("grh");
  239.  
  240.  
  241. $id=$_GET['numero'];/*il ne reconnait pas le $id lequel marche pour la suppression*/
  242. echo $id;/*ici il ne m'affiche aucune valeur de $id*/
  243. die();
  244.  
  245.  
  246. $query= "delete from employes where numero=$id";
  247. /*comme je ne sais pas comment savoir exactement les champs modifiés je procede par une suppression pour refaire une insertion plus bas,mais rien de tout ceci ne marche et je n'arrive pas à percevoir l'erreur*/
  248. $query='insert into employes values("'.$numero.'","'.$nom.'","'.$prenom.'","'.$genre.'","'.$dat.'","'.$dat2.'","'.$salbrut.'","'.$sitmat.'","'.$nbenf.'","'.$tel.'","'.$mail.'","'.$fichier.'","'.$loisir.'")';
  249. $result=mysql_query($query)or die('Erreur SQL! <br/> '.$query.'<br/>' .mysql_error());;
  250. mysql_close();

j'ai supprimer mes die() mais le problème perssiste,je n'arrive pas à récupérer le id de l'enregistrement à sauvegarder, pourtant c'est de la même manière j'ai procedé aussi bien pour la suppression que pour la modification,mais je ne comprend pas pourquoi j'arrive pas à le récupérer sur ma page sauvegarder.php
Lassé par la pub ? Créez un compte
Tom's guide dans le monde