Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]System Logowania na plikach
Forum PHP.pl > Forum > PHP
b_chmura
Witam
Mam mały problem...

zrobiłem taki skrypt:
  1. <?php
  2. include('strona/gora.php');
  3.  
  4. $file = file("usr.txt");
  5. foreach ($file as $linia) {
  6. $usr = explode('||', $linia);
  7. if($_COOKIE['haslo']!=1){
  8. if ($login==$usr[0] and $haslo==$usr[1]) {
  9. setcookie('haslo', 1, time()+86400);
  10. echo '<a href="edit.php">Zarzdzaj Trescia</a>';
  11. }
  12. else {
  13. echo '<form method="post" action="logowanie.php">';
  14. echo 'Login <input type="text" name="login" size="20"><br />';
  15. echo 'Haslo <input type="password" name="haslo" size="20"><br />';
  16. echo '<input type="submit" value="Wyslij" name="wyslij" ><br />';
  17. }
  18. }
  19. else {
  20. echo '<a href="edit.php">Zarzdzaj Trescia</a>';
  21. }
  22. }
  23.  
  24. include('strona/dol.php');
  25.  
  26. ?>


Problem pojawia sie gdy w "bazie" (usr.txr) jest więcej jak jedna dana (gdy jest jedna problemu nie ma).
Problem polega na tym ze nie wiem gdzie i jak i co mam umieścić w pętli foreach.Aktualnie gdy jest więcej jak jeden użytkownik pojawia sie tyle formularzy ile linijek w usr.txt do tego funkcjonuje tylko ostatni z nich z ostatnimi danymi.

Problem błahy ale nie potrafię się z nim uwikłać, wrr
Jeśli ktoś był by tak miły i pomógł...
misiek172
no pewnie ze bedzie pojawiasz sie tyle formularzy co userów bo masz początek formualrza w PĘTLI!!!!

to:
echo '<form method="post" action="logowanie.php">';

musić wyjąć przed foreach
b_chmura
Cytat(misiek172 @ 18.03.2007, 17:15:36 ) *
no pewnie ze bedzie pojawiasz sie tyle formularzy co userów bo masz początek formualrza w PĘTLI!!!!

to:
echo '<form method="post" action="logowanie.php">';

musić wyjąć przed foreach


To nie jest rozwiązanie, owszem jeśli wyciągnę cały formularz przed pętle to nie będzie ona powtarzana ALE
no właśnie są dwa "ale"

- działa tylko ostatnia linijka danych "login||haslo" inne hasła i loginy wyświetlają FALS ostatnie zapewnia nam wejście
- formularz jest cały czas na wierzchu a efektem kodu ma być wystawienie formularza jeśli ciacho nie ma "1" OR login lub hasło nie są właściwe , w innym wypadku wyświetlić link do zabezpieczonym przez ciacho pliku

Jeśli potraficie pomóc byłbym wdzięczny smile.gif
misiek172
niedokońca rozumiem, ale napewno jeśli formularz będzie w pętli to będzie się kopiował bo innej siły nie ma, właśnie na tej zasadzie polegają pętle. Widocznie musisz przerobić strukture.
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.