Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Logowanie php + txt
Forum PHP.pl > Forum > Przedszkole
fran1o
Witam
Mam taki kod:
  1. <?
  2. if (@$_POST['Action']=='Zaloguj sie')
  3. {
  4. $a=file('users.txt');
  5. foreach ($a as $key=>$value)
  6. {
  7. $value=str_replace(array("r", "\n"), '', $value );
  8. list($login, $pass, $status)=explode(',', $value);
  9.  
  10.  if ($login==$_POST['login'] AND $pass==$_POST['haslo'])
  11.  
  12. {
  13. $_SESSION['logined']=true;
  14. break(1);
  15. }
  16.  
  17. }
  18. }
  19.  
  20.  
  21.  
  22. if (@$_POST['Action']=='Wyloguj sie')
  23. {
  24. $_SESSION['logined']=false;
  25. }
  26.  
  27. if (@$_SESSION['logined']==true)
  28. {
  29.  
  30. echo "Zalogowany: $login";
  31. ?>
  32.  <h1>Tresc strony po zalogowaniu </h1>
  33.  
  34.  
  35. <form action="logowanie.php" METHOD="post">
  36. <input type="submit" name="Action" value="Wyloguj sie">
  37. </form>
  38. <?
  39. }
  40. else
  41. {
  42. ?>
  43. <form action="logowanie.php" METHOD="post">
  44. Login: <input type="text" name="login"><br>
  45. haslo: <input type="password" name="haslo"><br>
  46. <input type="submit" name="Action" value="Zaloguj sie">
  47. </form>
  48. <?
  49. }
  50.  
  51. ?>


Zapis w pliku users.txt wyglada:
login, haslo
login, haslo

chce zeby bylo
login, haslo,1
lohin, haslo,2
...

Chodzi mi o dodanie jeszcze jednej zmiennej $status ale zeby tej zmiennej nie trzeba bylo recznie podawac w formularzu, wpisuje sie tylko login i haslo a status ma sam sobie sprawdzic z pliku... i po zalogowaniu ma przeniesc na odpowiednia strone w zaleznosci od loginu, hasla i statusu... nie pytajcie po co mi to... bo wiem ze lepiej to zrobic w bazie danych... ale potrzebna jest mi taka forma...
z gory thx
nospor
Cytat
Zapis w pliku users.txt wyglada:
login, haslo
login, haslo

chce zeby bylo
login, haslo,1
lohin, haslo,2
W kodzie co pokazales nigdzie nie ma zapisywania do pliku to czego od nas oczekujesz? Chesz miec jeszcze cyferki na koncu to otworz plik notatnikiem i sobie dopisz smile.gif
fran1o
to wiem ze nie ma to sobie recznie dopisze w pliku.txt (chcialem przyblizyc jak plik wyglada)... chodzi mi bardziej o odczyt z przekierowaniem na wybrana strone po tym statusie wlasnie....
nospor
Kod
<?php
if ($status == 1)
header('Location: http://nospor.pl);
elseif ($status == 2)
header('Location: http://forum.php.pl');
else....
exit;
?>
pyro
w lini 25 popraw:
  1. <?php
  2. $_SESSION['logined']=false;
  3. }
  4.  
  5. if (@$_SESSION['logined']==true)
  6. ?>


na:
  1. <?php
  2. $_SESSION['logined']==='false';
  3. }
  4.  
  5. if (@$_SESSION['logined']==='true')
  6. ?>


bo "=" to operator przypisania
fran1o
  1. <?
  2. if (@$_POST['Action']=='Zaloguj sie')
  3. {
  4. $a=file('users.txt');
  5. foreach ($a as $key=>$value)
  6. {
  7. $value=str_replace(array("r", "\n"), '', $value );
  8. list($login, $pass, $status)=explode(',', $value);
  9.  
  10. if ($login==$_POST['login'] AND $pass==$_POST['haslo'])
  11.  
  12. {  
  13.  
  14.  $_SESSION['logined']=true;
  15. break(1);
  16. }
  17.  }
  18. }
  19.  
  20. if (@$_POST['Action']=='Wyloguj sie')
  21. {
  22. $_SESSION['logined']===false;
  23. }
  24.  
  25. if (@$_SESSION['logined']===true)
  26. {
  27.  
  28. echo "Zalogowany: $login";
  29. ?>
  30.  <h1>Tresc strony po zalogowaniu </h1>
  31.  
  32.  
  33. <form action="logowanie.php" METHOD="post">
  34. <input type="submit" name="Action" value="Wyloguj sie">
  35. </form>
  36. <?
  37. }
  38. else
  39. {
  40. ?>
  41. <form action="logowanie.php" METHOD="post">
  42. Login: <input type="text" name="login"><br>
  43. haslo: <input type="password" name="haslo"><br>
  44. <input type="submit" name="Action" value="Zaloguj sie">
  45. </form>
  46. <?
  47. }
  48.  
  49. ?>


po ktorej linii to mam wstawic:
  1. <?php
  2. if ($status == 1){
  3. header('Location: <a href=\"http://nospor.pl);\" target=\"_blank\">http://nospor.pl);</a>
  4. }elseif{ 
  5. ($status == 2)
  6. header('Location: <a href=&#092;"http://forum.php.pl');\" target=\"_blank\">http://forum.php.pl');</a>
  7. }else....
  8. ?>
nospor
po tej po ktorej stwierdzisz ze usera zalogowales
$_SESSION['logined'] = true;

Tylko wstaw to co ci podalem a nie pozmieniales kod na wogole niepoprawny skladniowo...
Crozin
Taki mały OT winksmiley.jpg

1) Staraj się (a najlepiej w ogóle nie używaj) maskowania błędów (@) - już lepiej daj na początku:
  1. <?php
  2. $_POST['Action'] = isset($_POST['Action']) ? $_POST['Action'] : false;
  3. ?>

2) Login <--> Logged (nie Logined)
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.