Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie > błędy > nagłówki wysłane :(
Forum PHP.pl > Forum > Przedszkole
porowski
Mam takie pliki:

Plik login.php
  1. <?
  2. if($wyslij)
  3. {
  4.     if(isset($_POST['login']) && isset($_POST['haslo'])) 
  5.     {
  6.         include(&#092;"include/mysql.php\");
  7.  
  8.         $haslo = md5($haslo);
  9.  
  10.         $sql = mysql_query(&#092;"SELECT * FROM admin WHERE login='\".$_POST['login'].\"';\");
  11.  
  12.         $rekord = mysql_fetch_row($sql);
  13.  
  14.         $poprawny_login = $rekord[1];
  15.         $poprawne_haslo = $rekord[2];
  16.  
  17.         $ida = $rekord[0];
  18.         $email = $rekord[3];
  19.         $prawa = $rekord[4];
  20.  
  21.         if($_POST['login'] == $poprawny_login && $_POST['haslo'] == $poprawne_haslo)
  22.         { 
  23.             session_start(); 
  24.             session_register('ida'); 
  25.             session_register('login');
  26.             session_register('email');
  27.             session_register('prawa'); 
  28.             header(&#092;"Location: admin.php?\" . SID); 
  29.             exit(); 
  30.         } 
  31.         else 
  32.         {
  33.             echo 'Błędny login lub hasło!<br>System zwraca uwagę na małe i duże znaki! <i>(Rada: Wyłącz CAPS-LOCK)</i><br><a href=\"login.php\"><b>Zaloguj ponownie</b></a>';
  34.         } 
  35.     }
  36. }
  37. else 
  38. { 
  39. ?> 
  40. <form method=\"post\">
  41. <table align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
  42.   <tr nowrap>
  43.     <td width=\"50\" align=\"right\" nowrap>Login:&nbsp;&nbsp;</td>
  44.     <td nowrap><input type=\"text\" style=\"width: 125px; height: 20px\" maxlength=\"32\" name=\"login\"></td>
  45.   </tr>
  46.   <tr nowrap>
  47.     <td width=\"50\" align=\"right\" nowrap>Hasło:&nbsp;&nbsp;</td>
  48.     <td nowrap><input type=\"password\" style=\"width: 125px; height: 20px;\" maxlength=\"32\" name=\"haslo\"></td>
  49.   </tr>
  50.   <tr nowrap>
  51.     <td width=\"50\" nowrap>&nbsp;</td>
  52.     <td nowrap><input type=\"submit\" name=\"wyslij\" value=\"Zaloguj\"></td>
  53.   </tr>
  54. </table>
  55. </form>
  56. <? 
  57. } 
  58. ?>


Plik auth.php
  1. <?
  2.  
  3. if (!isset($_SESSION['login'])) 
  4. {  
  5.     header(&#092;"Location: login.php\"); 
  6.     exit(); 
  7. } 
  8.  
  9. echo 'dalsza cześć skryptu, która wykonuje się po prawidłowym logowaniu';
  10. ?>


Na jednym serverze jak odpalam wszystko idzie cacy - zero problemów . Natomiast na drugim ciągle wywala mi błąd, że nagłówki zostały już wysłane sadsmiley02.gif
nospor
Pewnie chodzi o problem z buferowaniem. Ustaw w php.ini:
output_buffering = on
ein
tak.mi tez wczoraj to pomoglo, a mialam ten sam problem
revyag
a czy w linni 22 to tak ma być ?
  1. <?php
  2. if($_POST['login'] == $poprawny_login && $_POST['login'] == $poprawne_haslo)
  3. ?>
porowski
powinno byc w drugiej czesci $_POST['haslo'] tongue.gif

dokładnie to są takie błędy:
Warning: session_start(): Cannot send session cache limiter - headers already sent...

Warning: Cannot modify header information - headers already sent by...


Ja nie mam dostępu do plików servera bo to server płatny sad.gif
shima
Biały znak przed
  1. <?php
  2.  
  3. ?>
kubatron
Daj na sam początek session_start() a zamiast session_register używaj $_SESSION i po sprawie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.