Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mechanizm sesji - weryfikacja logowania ~ problem
Forum PHP.pl > Forum > Gotowe rozwiązania
karolski
Oto skrypyt login.php który weryfikuje dane z formularza i sprawdza czy zgadza sie z uzytkownikiem w bazie a nastepnie rejestruje sesje problem jest w tym ze nie wiem jak przebudowac ten skrypt wyglada on nastepujaco:

  1. <?php
  2.  
  3.  
  4. include ('mysql_connect.inc.php');
  5. polacz ();
  6.  
  7. if (isset($login) && isset($haslo))
  8. { 
  9.  
  10. $zapytanie = mysql_query (&#092;"SELECT id, login, haslo, prawa FROM nuclear_admin WHERE login = \"$login\"\");
  11. $wynik = mysql_query($zapytanie);
  12.  
  13. while ($row = mysql_fetch_array($zapytanie)) {
  14. $id = $row['id'];
  15. $login_db = $row['login'];
  16. $haslo_db = $row['haslo'];
  17. $prawa = $row['prawa'];
  18. }
  19.  
  20.  
  21. if ($login == $login_db && $haslo == $haslo_db)
  22. { 
  23.  
  24.  /// tutaj bylo session_start ();
  25.  
  26. session_register('login');
  27.  
  28. session_register('prawa');
  29.  
  30. header(&#092;"Location: main.php\");
  31.  
  32. exit(); 
  33. } 
  34. else 
  35. {
  36. echo 'Błędny login lub hasło!';
  37. }
  38. } 
  39. else 
  40. {
  41.  include ('includes/naglowek.inc');
  42. <form method=\"post\" action=\"login.php\" style=\"display:inline;\">
  43.  
  44. Login: <input type=\"text\" size=\"20\" name=\"login\"><br> 
  45.  
  46. Hasło: <input type=\"hasloword\" size=\"20\" name=\"haslo\"><p> 
  47.  
  48. <input type=\"submit\" value=\"Zaloguj\"
  49.  
  50. </form>
  51. ';
  52. include ('includes/stopka.inc');
  53. }
  54. ?>


pierwotnie session_start (); bylo powyzaj session_register('login'); ale jak podpiolem weryfikacje danych z bazy i musialem sie polaczyc z baza to zaczely mi wyskakiwac bledy ze nei moze wyslac ciasteczka, to dalem session_start (); na gore ale przez to chyba tongue.gif nie wykonuje sie header("Location: main.php");

co trzeba zrobic by nie bylo tego typu problemow questionmark.gifquestionmark.gif
SongoQ
Nie powinno byc $_SESSION['login'] i $_SESSION['haslo'] i tak samo z tablica POST?
karolski
Kod
Warning: Cannot modify header information - headers already sent by (output started at /home/unsorted/nuclear/_admin/mysql_connect.inc.php:2) in /home/unsorted/nuclear/_admin/login.php on line 34


coś takiego wyskakuje jest to wywolane przez: header('Location: main.php');

i to wywoluje ten błąd
SongoQ
Sprawdz czy przed przeladownaiem strony czegos nie wysylasz do przegladarki (echo)
Diwi
Zamień na coś takiego:

  1. <?php
  2.  
  3.  
  4. include ('mysql_connect.inc.php');
  5. polacz ();
  6.  
  7. if (isset($login) && isset($haslo))
  8. {
  9.  
  10. $zapytanie = mysql_query (&#092;"SELECT id, login, haslo, prawa FROM nuclear_admin WHERE login = \"$login\"\");
  11. $wynik = mysql_query($zapytanie);
  12.  
  13. while ($row = mysql_fetch_array($zapytanie)) {
  14. $id = $row['id'];
  15. $login_db = $row['login'];
  16. $haslo_db = $row['haslo'];
  17. $prawa = $row['prawa'];
  18. }
  19.  
  20.  
  21. if ($login == $login_db && $haslo == $haslo_db)
  22. {
  23.  
  24.  /// tutaj bylo session_start ();
  25.  
  26. session_register('login');
  27.  
  28. session_register('prawa');
  29.  
  30. header(&#092;"Location: main.php\");
  31.  
  32. exit();
  33. }
  34. else
  35. {
  36. echo 'Błędny login lub hasło!';
  37. }
  38. }
  39. else
  40. {
  41. include ('includes/naglowek.inc');
  42. <form method=\"post\" action=\"login.php\" style=\"display:inline;\">
  43.  
  44. Login: <input type=\"text\" size=\"20\" name=\"login\"><br>
  45.  
  46. Hasło: <input type=\"hasloword\" size=\"20\" name=\"haslo\"><p>
  47.  
  48. <input type=\"submit\" value=\"Zaloguj\">
  49.  
  50. </form>
  51. ';
  52. include ('includes/stopka.inc');
  53. }
  54.  
  55. ?>


I po kłopocie
karolski
dzięki zakończyłeś własnie mój życiowy problem z header('Location:..... biggrin.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-2024 Invision Power Services, Inc.