Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie na sesjeach
Forum PHP.pl > Forum > Przedszkole
Apo
Witam napisałem sobie logowanie na sesjach ale nie umie sobie poradzić z błędem. Wszystko chodziło do czasu gdzy urzytkownik i hasło było normalnie zapisane w pliku:
$login = "admin";
$pass = "pass";
ale teraz zapisałem dane w pliku i mam to tak:
admin<>pass
admin1<>pass1
i jeszcze dodałem kilka zaebzpieczeń np sprawdzanie ip z ty z sesji i niechce wogle mi sie urzytkownik poprawnie zalogować Oto kod:

index.php

  1. <?php 
  2. require "config.php"; 
  3. require "functions.php"; 
  4.  
  5. //treść strony 
  6.  
  7. if($_GET['panel'] == "administracyjny") 
  8. { 
  9. if(!isset($_SESSION['auth'])) 
  10. { 
  11. $_SESSION['auth'] = 0; 
  12. } 
  13. OdczytUserów(); 
  14.  
  15. if($_SESSION['auth'] == 1 && $_SESSION['ip'] == $ip && $_SESSION['login'] == $log && $_SESSION['pass'] == $pass) 
  16. { 
  17.  
  18. echo "Zalogowany jako ".$_SESSION['login']; 
  19.  
  20. } 
  21.  
  22. else { 
  23. if(!empty($login) && !empty($haslo)) 
  24. { 
  25. if($login == $log && $haslo == $pass) 
  26. { 
  27. $_SESSION['auth'] = 1; 
  28. $_SESSION['login'] = $login; 
  29. $_SESSION['pass'] = $haslo; 
  30. } 
  31. } 
  32. else { 
  33. ?> 
  34. <form action="" method="post"> 
  35. <input type="text" name="login" /><br /> 
  36. <input type="text" name="haslo" /><br /> 
  37. <input type="submit" value="loguj" /> 
  38. </form> 
  39. <?php 
  40. } 
  41. } 
  42. } 
  43. ?>


plik functions.php

  1. <?php 
  2.  
  3. $ip = $_SERVER['REMOTE_ADDR']; 
  4. $login = trim($_POST['login']); 
  5. $haslo = trim($_POST['haslo']); 
  6.  
  7. function OdczytUserów() 
  8. { 
  9. global $file, $log, $pass; 
  10.  
  11. if(file_exists($file)) { 
  12. $tmp = file($file); 
  13. for($i=0; $i < count($tmp); $i++) 
  14. { 
  15. list($log, $pass) = explode("<>", $tmp[$i]); 
  16. } 
  17. } 
  18. else { 
  19. echo "Brak pliku z danymi urzytkowników!"; 
  20. } 
  21. } 
  22. ?>


plik config.php
  1. <?php 
  2. $file = "baza.php"; 
  3. ?>



i baza.php

  1. <?php
  2.  
  3. admin<>pass 
  4.  
  5. ?>



Prosze pomóżcie przez te sesje mi sie żyć odechciewa sad.gif
Ociu
  1. <?php
  2. function SprawdźDane()
  3. {
  4. global $file, $log, $pass;
  5.  
  6. if(file_exists($file)) {
  7. $tmp = file($file);
  8. for($i=0; $i < count($tmp); $i++)
  9. {
  10. list($log, $pass) = explode("<>", $tmp[$i]);
  11. if($log[$i] == $log && $pass[$i] == $pass ) {
  12.  $_SESSION['log'] = $log;
  13.  # etc.
  14.  break;
  15. }
  16. }
  17. }
  18. else {
  19. echo "Brak pliku z danymi urzytkowników!";
  20. }
  21. } 
  22. ?>
s_w_ir
Przedewszystkim powstawiaj tam gdzie sie tylko da funckje echo wyświetlające wartości zmiennych: przed zmianą i po zmianie. Najważniejsze jest spradzenie czy wartości wejściowe i wyjściowe są takie jakich oczekujemy.
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.