Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z logowaniem.
Forum PHP.pl > Forum > Przedszkole
hzl_91
Siema. Dzisiaj chciałem sobie zrobić logowanie. Działa, ale nie trzyma sesji. Nie wiem czemu.

Oto kod:
  1. <?php
  2.  
  3. function login_ok() {
  4. global $inf, $stat;
  5.  
  6. $user = $_SESSION['user'];
  7. $pass = $_SESSION['pass'];
  8.  
  9. $query = "SELECT * FROM swipi_users WHERE users_login ='$user' AND users_password ='$pass';";
  10. $result = mysql_query($query);
  11. $yes = mysql_num_rows($result);
  12. if($yes==0) { $ret=FALSE; } else { $ret=TRUE; }return $ret;
  13. }
  14.  
  15. function user_info() {
  16. $user = $_SESSION['user'];
  17. $pass = $_SESSION['pass'];
  18.  
  19. $query = mysql_query("SELECT * FROM swipi_users WHERE users_login ='$user' AND users_password ='$pass';");
  20. $r = mysql_fetch_array($query);
  21.  
  22. $inf[1] = $r['users_id'];
  23. $inf[2] = $r['users_login'];
  24. $inf[3] = $r['users_password'];
  25. $inf[4] = $r['users_email'];
  26. return $inf;
  27. }
  28.  
  29. ?>


  1. <?php
  2.  
  3. switch($load) {
  4. default :
  5. echo'<form method="POST" action="index.php?mode=login&load=log_me">
  6. <p><input type="text" name="user" size="20" value="login"></p>
  7. <p><input type="password" name="pass" size="20" value="pass"><input type="submit" value="Zaloguj sie" name="B1"></p>
  8. <a href="logowanie.php?co=dodaj">Rejestracja</a>
  9. </form>';
  10. break;
  11.  
  12. case 'log_me':
  13. //dodaj sesje
  14. $_SESSION['user']=$_POST[user];
  15. $_SESSION['pass']=md5($_POST[pass]);
  16.  
  17. //Loguje do systemu
  18. if(login_ok()) {
  19. $stat = user_info();
  20. header("Location: massange.php?value=true&top=LogIN&text=You logget&url=index.php");
  21. } else {
  22. header("Location: massange.php?value=false&top=Error Login&text=Please&url=index.php?mode=login");
  23. }
  24. break;
  25. }
  26.  
  27. ?>


Nie wiem czemu nie działa.
Cysiaczek
Nigdzie nie widze sessin_start() i pewne to jest przyczyna.

Pozdrawiam.
hzl_91
Dobra zrobiłem. Teraz mm problem bo chcę przerobić to na cookies. Zrobiłem coś takiego:
Plik logujący:
  1. <?php
  2.  
  3. switch($load) {
  4. default :
  5. #### LOGOWANIE ####
  6. //Formularz logowania
  7. echo'<form method="POST" action="index.php?mode=login&load=log_me">
  8. <p><input type="text" name="user" size="20" value="login"></p>
  9. <p><input type="password" name="pass" size="20" value="pass"><input type="submit" value="Zaloguj sie" name="B1"></p>
  10. <a href="logowanie.php?co=dodaj">Rejestracja</a>
  11. </form>';
  12. break;
  13.  
  14. case 'log_me':
  15. //dodaj sesje
  16. $_SESSION['user']=$_POST[user];
  17. $_SESSION['pass']=md5($_POST[pass]);
  18. setcookie('user', $_POST['user'], time() + 60 * 60 * 24 * 30);
  19. setcookie('pass', $_POST['pass'], time() + 60 * 60 * 24 * 30);
  20.  
  21. //Loguje do systemu
  22. if(login_ok()) {
  23. $stat = user_info();
  24. header("Location: massange.php?value=true1&top=$lang[39]&text=$lang[40]&url=index.php");
  25. } else {
  26. header("Location: massange.php?value=false&top=$lang[41]&text=$lang[42]&url=index.php?mode=login");
  27. }
  28. break;
  29. }
  30.  
  31. ?>


Plik sprawdzający czy zalogowany:
  1. <?php
  2.  
  3. function login_ok() {
  4. global $inf, $stat;
  5.  
  6. $user = $_SESSION['user'];
  7. $pass = $_SESSION['pass'];
  8.  
  9. $zapytanie = mysql_query("SELECT * FROM swipi_users WHERE users_login ='$user' AND users_password ='$pass' AND users_status ='1';");
  10. $yes = mysql_num_rows($zapytanie);if($yes==0) { $ret=FALSE; } else { $ret=TRUE; }return $ret;
  11. }
  12.  
  13. function user_info() {
  14. $user = $_SESSION['user'];
  15. $pass = $_SESSION['pass'];
  16.  
  17. $query = mysql_query("SELECT * FROM swipi_users WHERE users_login ='$user' AND users_password ='$pass';");
  18. $r = mysql_fetch_array($query);
  19.  
  20. $inf[1] = $r['users_id'];
  21. $inf[2] = $r['users_login'];
  22. $inf[3] = $r['users_password'];
  23. $inf[4] = $r['users_email'];
  24. return $inf;
  25. }
  26.  
  27. ?>


Teraz jak zrobić, żeby działało to na cookies i jak ustawicz wieczne ciasteczka?
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.