Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Logowanie php + txt
fran1o
post 16.04.2008, 12:24:05
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 2
Dołączył: 15.04.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nospor
post 16.04.2008, 12:47:33
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
fran1o
post 16.04.2008, 12:51:33
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 2
Dołączył: 15.04.2008

Ostrzeżenie: (0%)
-----


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....
Go to the top of the page
+Quote Post
nospor
post 16.04.2008, 12:56:03
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
<?php
if ($status == 1)
header('Location: http://nospor.pl);
elseif ($status == 2)
header('Location: http://forum.php.pl');
else....
exit;
?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pyro
post 16.04.2008, 13:12:04
Post #5





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


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


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
fran1o
post 16.04.2008, 13:21:33
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 2
Dołączył: 15.04.2008

Ostrzeżenie: (0%)
-----


  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. ?>
Go to the top of the page
+Quote Post
nospor
post 16.04.2008, 13:42:14
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Crozin
post 16.04.2008, 15:52:59
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:35