Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odczyt userów z jednego pliku
Forum PHP.pl > Forum > Przedszkole
-Peters-
Napisałem sobie panel logowania i użytkownicy są zapisywani w jednym pliku. I mam problem, ponieważ nie wiem jak odczytać użytkownika pojedynczego
z pliku tak aby go zalogować. Jeśli jest jeden użytkownik to nie ma problemu, ale jak już jest dwóch to nie wiem. Próbowałem z fgets ale nie loguje biggrin.gif Kod:

login.php
  1. <?php
  2.  
  3.  
  4. $log= $_POST['nick'];
  5. if ($file= @fopen("users.ghgynh9", 'r')) {
  6. $read= fgets ($file, 2048);
  7. $lp= explode(':', $read); 
  8. $login= $lp[0];
  9. $pass= $lp[1]; 
  10.  
  11. if ($login== $_POST['nick'] && $pass== $_POST['pass']) {
  12.  
  13. $_SESSION['user']= $_POST['nick'];
  14. header ("Location: page.php"); 
  15.  
  16. }
  17.  
  18. else 
  19.  echo 'Nie masz tu wstepu';
  20.  
  21.  
  22. }
  23.  
  24. else 
  25.  echo 'Brak uzytkownika';
  26.  
  27.  
  28.  
  29. ?>


logout.php
  1. <?php
  2.  
  3.  
  4. if (!isset($_SESSION['user'])) {
  5.  
  6. echo 'Nie byles zalogowany ';
  7. echo '<form action="login.php" method="post" > 
  8. Login: <input type="text" name="nick" /><br />
  9. <br />Haslo: <input type="password" name="pass" /><br />
  10. <br /><input type="submit" value="Loguj" /> ';
  11.  
  12. }
  13.  
  14. else {
  15.  
  16. unset ($_SESSION['user']);
  17. echo 'Wylogowalo prawidlowo';
  18.  
  19. } 
  20.  
  21.  
  22. ?>


register.php
  1. <?php
  2.  
  3. $login= $_POST['nick'];
  4. $pass= $_POST['pass']; 
  5. $string= $login . ':' . $pass;
  6.  
  7. $file= fopen ("users.ghgynh9", 'a');
  8. fwrite ($file, $string ."r\n"); 
  9. fclose($file);
  10.  
  11.  
  12. ?> 
  13.  
  14. <html>
  15. <body>
  16. <div id="form">
  17. <form method="post" >
  18. Nick: <input type="text" name="nick" /><br />
  19. <br />Haslo:<input type="password" name="pass" /><br />
  20. <br />
  21. <br /><input type="submit" value="Rejestruj" /><br />
  22. </form> 
  23. </div>
  24. </body>
  25. </html>

page.php
  1. <?php
  2.  
  3.  
  4. if (!isset($_SESSION['user'])) {
  5.  
  6. echo 'Nie jestes zalogowany'; 
  7. echo '<form action="login.php" method="post" > 
  8. Login: <input type="text" name="nick" /><br />
  9. <br />Haslo: <input type="password" name="pass" /><br />
  10. <br /><input type="submit" value="Loguj" /> <br />';
  11. echo '<br /> <a href="register.php">Zarejestruj sie</a> <br />';
  12.  
  13. }
  14.  
  15. else 
  16.  echo 'Witaj, ' . $_SESSION['user'] , ' <a href="logout.php">wyloguj</a>';
  17.  
  18. ?>
nitek
wejdź na file i wzoruj się na tamtym przykładziem, który odczytuje plik w pętli. W tej pętli rób explode swojej lini i porównuj, czy login i hasło są równe polom z formularza..
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.