probleme session_start ()

probleme session_start () - PHP - Programmation

Marsh Posté le 03-05-2007 à 12:22:25    

bonjour a tous,
 
je suis tomber sur une erreure concernant les sessions et je ne sais vraiment pas quoi faire car c la premiere fois que j'utilise les sessions  :)  
 
voici mon erreure :  
 
Code :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\super diet\php_conges_v1.1.1\calcul_nb_jours_pris.php:1) in c:\program files\easyphp1-8\www\super diet\php_conges_v1.1.1\INCLUDE.PHP\fonction.php on line 153
je suis preneur pour toutes suggestions.
 
merci d'avance
 
ciao

Reply

Marsh Posté le 03-05-2007 à 12:22:25   

Reply

Marsh Posté le 03-05-2007 à 12:38:17    

soit t'as de l'html avant, soit un saut de ligne ... Bref, avant ton session_start() t'as qqch d'envoyé au navigateur.

Reply

Marsh Posté le 03-05-2007 à 12:42:13    

NewsletTux a écrit :

soit t'as de l'html avant, soit un saut de ligne ... Bref, avant ton session_start() t'as qqch d'envoyé au navigateur.


 
en faite je viens de regarder et avant session_start il y a deux fonction en php, c peut etre ca qui pose probleme????

Reply

Marsh Posté le 03-05-2007 à 12:44:06    

si ça envoi du texte oui


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 03-05-2007 à 12:53:34    

Et le moindre espace avant <?php c'est un caractère envoyé!


Message édité par dwogsi le 03-05-2007 à 12:53:44

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 03-05-2007 à 12:54:02    

zecrazytux a écrit :

si ça envoi du texte oui


 
il y a une fonction connexion mysql et une fonction requete sql dc il ne renvoi pas de texte

Reply

Marsh Posté le 03-05-2007 à 13:00:03    

Ya pas de magie, pas de mystère ni de miracle! Ya forcément un morceau de code ou un bout de fichier quelque part qui renvoie quelque chose au client! Cherche bien!

Message cité 1 fois
Message édité par dwogsi le 03-05-2007 à 13:08:59

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 03-05-2007 à 15:27:55    

dwogsi a écrit :

Ya pas de magie, pas de mystère ni de miracle! Ya forcément un morceau de code ou un bout de fichier quelque part qui renvoie quelque chose au client! Cherche bien!


 
voici le code de ma page qui me crée cette erreure :  
 

Code :
  1. <script language="javascript">
  2. function envoi(valeur)
  3. {window.opener.document.forms[0].new_nb_jours.value=valeur}
  4. </Script>
  5. <?php
  6. $session=(isset($_GET['session']) ? $_GET['session'] : ((isset($_POST['session'])) ? $_POST['session'] : session_id()) ) ;
  7. include("fonctions_conges.php" ) ;
  8. include("INCLUDE.PHP/fonction.php" );
  9. include("INCLUDE.PHP/session.php" );
  10. $verif_droits_file="INCLUDE.PHP/verif_droits.php";
  11. if( ($_SESSION['config']['verif_droits']==TRUE) && (file_exists($verif_droits_file)) ){ include($verif_droits_file);}
  12. // DEBUG
  13. //print_r($_GET); echo "<br>\n";
  14. /*** initialisation des variables ***/
  15. $session=session_id();
  16. $user="";
  17. $date_debut="";
  18. $date_fin="";
  19. /************************************/
  20. /*************************************/
  21. // recup des parametres reçus :
  22. // SERVER
  23. $PHP_SELF=$_SERVER['PHP_SELF'];
  24. // GET / POST
  25. $user       = getpost_variable("user" ) ;
  26. $date_debut = getpost_variable("date_debut" ) ;
  27. $date_fin   = getpost_variable("date_fin" ) ;
  28. $opt_debut  = getpost_variable("opt_debut" ) ;
  29. $opt_fin    = getpost_variable("opt_fin" ) ;
  30. /*************************************/
  31. if( ($user!="" ) && ($date_debut!="" ) && ($date_fin!="" ) && ($opt_debut!="" ) && ($opt_fin!="" ) )
  32.  affichage($user, $date_debut, $date_fin, $opt_debut, $opt_fin);
  33. else
  34.  /* APPEL D'UNE AUTRE PAGE immediat */
  35.  echo "<META HTTP-EQUIV=REFRESH CONTENT=\"0; URL=user_index.php?session=$session&onglet=nouvelle_absence\">";
  36.  //echo " $user, $date_debut, $date_fin, $opt_debut, $opt_fin <br>\n";
  37. /**********  FONCTIONS  ****************************************/
  38. function affichage($user, $date_debut, $date_fin, $opt_debut, $opt_fin)
  39. {
  40. $PHP_SELF=$_SERVER['PHP_SELF'];
  41. $session=session_id();
  42. echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n";
  43. echo "<html>\n";
  44. echo "<head>\n";
  45. echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";
  46. echo "<link href=\"style_basic.css\" rel=\"stylesheet\" type=\"text/css\">\n";
  47. echo "<title>PHP_CONGES : </title>\n";
  48. echo "</head>\n";
  49. echo "<body>\n";
  50. echo "<center>\n";
  51. echo "<h1>$user</h1>\n";
  52. echo "<form action=\"$PHP_SELF?session=$session\" method=\"POST\">\n";
  53. echo "<table>\n";
  54. echo "<tr>\n";
  55. // calcul :
  56. $nb_jours=compter($user, $date_debut, $date_fin, $opt_debut, $opt_fin);
  57. echo "<td align=\"center\"><h2>".$_SESSION['lang']['calcul_nb_jours_nb_jours']." <b>$nb_jours</b></h2></td>\n";
  58. echo "</tr>\n";
  59. echo "<tr>\n";
  60. echo "<td align=\"center\"><i>".$_SESSION['lang']['calcul_nb_jours_reportez']." \"".$_SESSION['lang']['saisie_conges_nb_jours']."\" ".$_SESSION['lang']['calcul_nb_jours_form'].".</i></td>\n";
  61. echo "</tr>\n";
  62. echo "<tr>\n";
  63. echo "<td align=\"center\">\n";
  64. echo " &nbsp;\n";
  65. echo "</td>\n";
  66. echo "</tr>\n";
  67. echo "<tr>\n";
  68. echo "<td align=\"center\">\n";
  69. echo " <input type=\"button\" value=\"".$_SESSION['lang']['form_close_window']."\" onClick=\"javascript:window.close();\">\n";
  70. echo "</td>\n";
  71. echo "</tr>\n";
  72. echo "</table>\n";
  73. echo "</form>\n";
  74. if( ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']==TRUE) && ($nb_jours!=0) )
  75.  echo "<script>envoi($nb_jours)</script>";
  76. echo "</center>\n";
  77. echo "</body>\n";
  78. echo "</html>\n";
  79. }
  80. // calcule le nb de jours de conges à prendre pour un user entre 2 dates
  81. // retourne le nb de jours  (opt_debut et opt_fin ont les valeurs "am" ou "pm"
  82. function compter($user, $date_debut, $date_fin, $opt_debut, $opt_fin)
  83. {
  84. if (strtotime($date_debut) > strtotime($date_fin))
  85.  return 0 ;
  86. if( ($date_debut!=0) && ($date_fin!=0) )
  87. {
  88.  $nb_jours=0;
  89.  //connexion mysql
  90.  $mysql_link = connexion_mysql() ;
  91.  // on initialise le tableau global des jours fériés s'il ne l'est pas déjà :
  92.  if(!isset($_SESSION["tab_j_feries"]))
  93.  {
  94.   init_tab_jours_feries($mysql_link);
  95.   //print_r($_SESSION["tab_j_feries"]);   // verif DEBUG
  96.  }
  97.  $current_day=$date_debut;
  98.  $date_limite=jour_suivant($date_fin);
  99.  // on va avancer jour par jour et voir s'il est travaillé, férié, rtt, etc ...
  100.  while($current_day!=$date_limite)
  101.  {
  102.   $pieces = explode("-", $current_day);  // date de la forme yyyy-mm-jj
  103.   $y=$pieces[0];
  104.   $m=$pieces[1];
  105.   $j=$pieces[2];
  106.   $timestamp_du_jour=mktime (0,0,0,$m,$j,$y);
  107.   // on regarde si le jour est travaillé ou pas
  108.   $j_name=date("D", $timestamp_du_jour);
  109.   if( (($j_name=="Sat" )&&($_SESSION['config']['samedi_travail']==FALSE))
  110.    || (($j_name=="Sun" )&&($_SESSION['config']['dimanche_travail']==FALSE)))
  111.   {
  112.    // on ne compte pas ce jour
  113.   }
  114.   else
  115.   {
  116.    if(est_chome($timestamp_du_jour)==TRUE)
  117.    {
  118.     // on ne compte pas ce jour
  119.    }
  120.    else
  121.    {
  122.     // verif des rtt ou temp partiel (dans la table rtt)
  123.     $val_matin="N";
  124.     $val_aprem="N";
  125.     recup_infos_artt_du_jour($user, $timestamp_du_jour, $val_matin, $val_aprem, $mysql_link);
  126.     // si on est le premier jour et que les conges commencent à midi
  127.     if( ($current_day==$date_debut) && ($opt_debut=="pm" ) )
  128.     {
  129.      //on ne traite pas le matin
  130.     }
  131.     else
  132.     {
  133.      if($val_matin!="Y" )  // pas de rtt le matin
  134.       $nb_jours=$nb_jours+0.5;
  135.     }
  136.     // si on est le dernier jour et que les conges finissent à midi
  137.     if( ($current_day==$date_fin) && ($opt_fin=="am" ) )
  138.     {
  139.      //on ne traite pas l'apres midi
  140.     }
  141.     else
  142.     {
  143.      if($val_aprem!="Y" ) // pas de rtt l'après midi
  144.       $nb_jours=$nb_jours+0.5;
  145.     }
  146.    }
  147.   }
  148.   $current_day=jour_suivant($current_day);
  149.  }
  150.  mysql_close($mysql_link);
  151.  return $nb_jours;
  152. }
  153. else
  154.  return 0;
  155. }
  156. // renvoit le jour suivant de la date paséée en paramètre sous la forme yyyy-mm-jj
  157. function jour_suivant($date)
  158. {
  159. $pieces = explode("-", $date);  // date de la forme yyyy-mm-jj
  160. $y=$pieces[0];
  161. $m=$pieces[1];
  162. $j=$pieces[2];
  163. $lendemain = date("Y-m-d", mktime(0, 0, 0, $m , $j+1, $y) );
  164. return $lendemain;
  165. }
  166. ?>


Message édité par lebanner3 le 03-05-2007 à 15:31:35
Reply

Marsh Posté le 03-05-2007 à 15:30:29    

Met des balises [code] ou [cpp] stp.
Et sinon, il est où le session_start()?!

Message cité 1 fois
Message édité par dwogsi le 03-05-2007 à 15:30:35

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 03-05-2007 à 15:32:47    

dwogsi a écrit :

Met des balises [code] ou [cpp] stp.
Et sinon, il est où le session_start()?!


 
la session_start est dans l'autre page je suppose, c un script que j'ai eu sur internet et je le modifie

Reply

Marsh Posté le 03-05-2007 à 15:32:47   

Reply

Marsh Posté le 03-05-2007 à 15:36:41    

Enlève tout ce qu'il y a entre la ligne 6 et <?php et met y ailleurs!


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 03-05-2007 à 15:39:38    

dwogsi a écrit :

Enlève tout ce qu'il y a entre la ligne 6 et <?php et met y ailleurs!


 
 
le javascript que tu parle?????

Reply

Marsh Posté le 03-05-2007 à 15:40:40    

Eu oui pardon de la ligne 1 à la 6.

Message cité 1 fois
Message édité par dwogsi le 03-05-2007 à 15:40:50

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 03-05-2007 à 15:42:48    

dwogsi a écrit :

Eu oui pardon de la ligne 1 à la 6.


 
 
po grave  
 
je l'ai mis a plusieurs place et j'ai tt le tps la meme erreur

Reply

Marsh Posté le 03-05-2007 à 15:45:32    

Bon j'explique puisqu'il le faut...
Dans tes include tu dois avoir ton session_start().
Dans las page qui fait des include, celle que tu nous montre tu envois du code avant de faire ces même include.
 
DONC IL Y A BIEN DU CODE ENVOYE AVANT LE SESSION_START() ET FAUT PAS POINT FINAL  :fou:


Message édité par dwogsi le 03-05-2007 à 15:45:43

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 03-05-2007 à 19:05:55    

pas mieux :o


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed