Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z logowaniem
Forum PHP.pl > Forum > PHP
slaweq
plik autoryzacja.php
  1. <?php
  2. if (isset($_SESSION['logged']) && $_SESSION['logged'] == 1) {
  3. // nic nie rob
  4. }else {
  5. $redirect = $_SERWER['PHP_SELF'];
  6. header("Refresh: 5; URL=logowanie.php?redirect=$redirect");
  7. echo "Zostaniesz przekierowany na stronę logowania!";
  8. die();
  9. }
  10. ?>





plik logowaniemoje.php
  1. <?php
  2. ?>
  3. <HTML>
  4. <HTML>
  5. <HEAD>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  7. </HEAD>
  8. <BODY>
  9. <?php
  10. $_SESSION['logged'] = 0;
  11. require("zmienne.php"); 
  12. $sql=mysql_connect("$serwer", $login , "$password");
  13. //if($sql==true)
  14. //{
  15. mysql_query("SET NAMES 'utf8'");
  16. $log=$_POST['log'];
  17. $pass=$_POST['pass'];
  18. if (isset($_POST['submit'])) {
  19. $query="SELECT * FROM moderatorzy WHERE login LIKE $log AND haslo LIKE $pass";
  20.  
  21. $result=mysql_query($query)
  22. //};
  23. if (mysql_num_rows($result) == 1) {
  24. //if($wiersz=mysql_fetch_array($result)){
  25. $_SESSION['user_logged']= $_POST['log'];
  26. $_SESSION['user_password']= $_POST['pass'];
  27. $_SESSION['logged'] = 1;
  28. header ("Refresh: 5; URL=", $_POST['redirect'], "");
  29.  
  30. }
  31. else {
  32. echo "Zaloguj sie";
  33. ?>
  34. <HTML>
  35. <BODY>
  36. <CENTER>Logowanie na konto moderatora<P>
  37. <FORM METHOD=post ACTION="logowaniemoje.php">
  38. <INPUT TYPE=hidden NAME=redirect value="<?php echo $_POST['redirect'];?>">
  39. <TABLE BORDER=1>
  40. <TR><TD>Gmina:<TD><SELECT NAME=gmina>
  41. <OPTION>
  42. <OPTION>Zakliczyn
  43. <OPTION>Wojnicz
  44. <OPTION>Tarnów
  45. <OPTION>Pleśna
  46. <OPTION>Rzuchowa
  47. <OPTION>Olszyny
  48. </SELECT></TR>
  49. <TR><TD>Login:<TD><INPUT TYPE=text NAME=log SIZE=20><BR></TR>
  50. <TR><TD>Hasło:<TD><INPUT TYPE=password NAME=pass SIZE=20><BR></TR>
  51. </TABLE>
  52. <P>
  53. <INPUT TYPE=reset VALUE=Wyczyść>
  54. <INPUT TYPE=submit NAME=zaloguj VALUE=Zaloguj>
  55. </TABLE>
  56. </FORM>
  57. </CENTER>
  58. </BODY>
  59. </HTML>
  60. <?php
  61. }
  62. }else {
  63. ?>
  64. <HTML>
  65. <BODY>
  66. <p> 
  67. Trzeba sie zalogowac aby zobaczyc zawartosc tej strony<br><br>
  68. <?php
  69. if (isset($_GET['redirect'])) {
  70. $redirect=$_GET['redirect'];
  71. } else{
  72. $redirect = "index.php";
  73. }
  74. ?>
  75. <HTML>
  76. <BODY>
  77. <CENTER>Logowanie na konto moderatora<P>
  78. <FORM METHOD=post ACTION="logowaniemoje.php">
  79. <INPUT TYPE=hidden NAME=redirect value="<?php echo $_GET['redirect'];?>">
  80. <TABLE BORDER=1>
  81. <TR><TD>Gmina:<TD><SELECT NAME=gmina>
  82. <OPTION>
  83. <OPTION>Zakliczyn
  84. <OPTION>Wojnicz
  85. <OPTION>Tarnów
  86. <OPTION>Pleśna
  87. <OPTION>Rzuchowa
  88. <OPTION>Olszyny
  89. </SELECT></TR>
  90. <TR><TD>Login:<TD><INPUT TYPE=text NAME=log SIZE=20><BR></TR>
  91. <TR><TD>Hasło:<TD><INPUT TYPE=password NAME=pass SIZE=20><BR></TR>
  92. </TABLE>
  93. <INPUT TYPE=reset VALUE=Wyczyść>
  94. <INPUT TYPE=submit NAME=zaloguj VALUE=Zaloguj>
  95. </TABLE>
  96. </FORM>
  97. </p>
  98. </CENTER>
  99. <?php
  100. }
  101. ?>
  102. </BODY>
  103. </HTML>



Przy probie uruchomienia strony logowanie moje wyskakuje blad:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/is/gosu/public_html/logowaniemoje.php:1) in /home/is/gosu/public_html/logowaniemoje.php on line 6

Prosze nie zwracac uwagi na mozliwe bledy w kodzie(np.wydobywanie informacji z BD). Poniewaz jestem poczatkujacym programista php tymi bledami pozniej sie zajme, teraz chcialbym naprawic problem z sesjami.
Łukasz O.
session_start() ma być po ob_start -> nie wolno Ci nic wyświetlać przed rozpoczęciem sesji!
slaweq
niestety ten sam blad :/
Łukasz O.
zmienna $_SERVER a nie $_SERWER - popraw to -> pomyśl -> poczytaj -> pomyśl jeszcze raz, bo coś mi się zdaje, że i tak się jeszcze zobaczymy tutaj:P

PS. odrazu popraw w autoryzacja.php w header 'logowanie.php' na 'logowaniemoje.php', bo znowu powiesz, że coś nie działa
slaweq
Dalej nic sie nie zmienilo:/
Łukasz O.
a to ciekawe - kolejny raz wysilam się, aby komuś pomóc - ściągam co tu wkleiłeś trochę zmieniam (login i hasło do serwera, wykomentowałem require('zmienne.php'), poprawiłem to co Ci napisałem i zgadnij co? wszystko działa - więc jak czekasz na gotowca to mógłbyś chociaż spakować zip'em to co masz i wrzucić tutaj - może się ktoś zlituje i poprawi - a nie ciągle "nie działa, nie działa, nie działa"

PS. poza tymn co nie działa? sesja? pobieranie użytkownika? nawet się wyrazić nie potrafisz jasno
slaweq
Od poczatku
Dziekuje za czas i chec pomocy.Piszac post tutaj mielm nadzieje, ze ktos mi pomoze, od tego sluzy
forum przeciez.
Wydaje mi sie ze wyrazilem sie jasno w pierwszym poscie, piszac blad ktory mi wyskakuje, zaznaczylem przy tym zeby na inne bledy w kodzie i niedociagneicia nie zwracac uwagi, prawda? Dla mnie to zdanie jest zrozumiale.Ale napsize ejszcze raz skoro to bylo tylko dla mnie jasne : " blad wyskakuje ten niezmiennie co w pierwszym poscie, zwiazny z sesja"

Gdybym czekal na gotowca to raczej podalbym jakis bezsensowny kod, z prosba o poprawienie WSZYSTKIEGO ( co by sie w praktyce sprowadzalo do napsiania skryptu od nowa), lub tak jak wspomniales poprosil z gory o gotowca. Jednak nie, Ja tylko poprosilem o pomoc w jednym problemie, tzn jednym bledzie nic pozatym.

Stosowalem sie do rad zamieszczanych w tym poscie przez Ciebie ( i bardzo dziekuje za poswiecony czas bo wiem ze napewno masz wiele lepszych rzeczy do roboty niz komus udzielac porad, ale skoro juz to robisz to prosze powstrzymaj sie od takich uwag), jak i przgladelm inne posty na podobny problem, jednak nic narazie nie pomoglo mi go rozwiazac.
Ja rowniez poprowalim co mi napsiales, wykomentowalem require, wprowadzilem bezposrednio dane do nawiazania polaczenia z baza danych ( chociaz w tym problem nie mogl lezec) i nadal mi nie dziala.
Skoro napisalem juz tyle kodu, to chyba logiczne ze nie jestem az taki tepy, zeby nie umiec zastosowac sie do czyichs wskazowek i wyciac kwalek kodu, czy naniesc drobne poprawki.
Łukasz O.
mam zły humor - sorry:P wziąłem tylko te dwa pliki, które tu podałeś, zrobiłem co napisałem i u mnie działa - więc ewidentnie wina leży u Ciebie - prawdopodobnie gdzieś jeszcze łądujesz coś co nie powino być ładowane przez rozpoczęciem sesji - mogą to być jakiekolwiek białer znaki - więc przejrzyj raz jeszcze wszystko - poza tym wyraźnie w komunikacie błędu powinieneś mieć zanzaczone, w którym miejscu on występuje - łącznie z plikiem i numerem linii - więc zlokalizowanie tego nie powinno być żadnym problemem

pokój smile.gif
slaweq
Looz ;]
Najdziwniejsze jest to ze zakomnetowalem caly kod, zostawiajac tylko :

  1. <?php



Drugi pilk autoryzacja.php ( Twoje zmiany zostaly wpowadzone ) pozostal niezmieniony.
Jednak nadal pojawia sie ten sam blad :

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/is/gosu/public_html/logowaniemoje.php:1) in /home/is/gosu/public_html/logowaniemoje.php on line 3

Caly czepia sie o linie gdzie jest session_start();
Sprawdzilem, nie mam zadnych znakow, zadnych spacji, ukrytych znaczkow.

Pokoj ;]

Mam rozwiazanie, sorry moje glupstwo.
Kod pisalem w Notatniku++ i mialem ustawione kodowanie w UTF-8, zamiast w ANSI.

sorka Lukasz O. za zawracanie du...y takim blachym problemem smile.gif
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.