Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie - prośba o pomoc
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
Gość_Maniek_*
Witam

Przeglądałem już różne fora, próbowałem różnych gotowych skryptów, ale niestety nie znalazłem tego czego szukałem dry.gif ... mam nadzieję że tutaj ktoś mi pomoże snitch.gif

Niestety nie znam się na php, ale wiem - mniej więcej czego szukam

System logowania - bez bazy danych (MSQL nie mam )

1) plik z loginami i hasłami, powiedzmy typu: login||hasło - albo coś podobnego
2) formularz na stronie podpięty do skryptu php
3) zabezpieczone strony - fragment php wstawiany na początku kodu stron które chcemy zabezpieczyć

Jeśli chodzi o działanie:

po wypelnieniu formularza, skrypt sprawdza czy dana para login-haslo znajduje sie w pliku (1) jeśli tak to zapisuje jakiś ciąg znaków np. login-hasło, albo 2 itp. gdzieś w cookies u użytkownika. Zabezpieczone strony sprawdzaja ciasteczka - jeżeli znajdą wyżej sprecyzowany wpis w cookies, strony się ładują, jeśli nie wyświetla się zdefiniowany komunikat o braku autoryzacji. Po zamknięciu przeglądarki - zakończenie sesji - nasze ciasteczko jest usuwane i wejście na zabezpieczoną stronę staje się niemożliwe - chodzi o to aby nie móc się na nią dostać pomijając logowanie - np. ładując ją bezpośrednio przez podanie adresu w przeglądarce.

Wiem że pewnie zaraz mi się dostanie, że nie jasno napisane, i żebym sam się zabrał za php sadsmiley02.gif ale to jest dział przeznaczony - podobno - do szukania gotowych skryptów, więc mam nadzieję że dobrze trafiłem.

Nie wiem czy można coś takiego prosto napisać w php, jeśli tak to byłbym wdzięczny za tych parę linijek kodu od ludków dużo ode mnie mądrzejszych. Bardzo by mi to pomogło smile.gif Jeśli ktoś znalazł już taki skrypt to byłbym wdzięczny za linka.

Pozdrawiam
Maniek guitar.gif
wlq
jesli musi to wygladac tak jak napisales:
  1. <?
  2. //plik odpowiadajacy za sprawdzanie loginu, dane w pliku powinny wygladac:
  3. //username1,password1
  4. //username2,password2
  5.  
  6. session_start(); //poczatek sesji
  7.  
  8. $plik = 'sciezka do pliku';
  9.  
  10. $file = fopen($plik, "r");
  11.  
  12. while(!feof($file)) {
  13.  
  14.  $line = explode(",", fgets($file, 100));
  15.  
  16.  if($username == $line[0] && $password == $line[1]) {
  17. //lepiej takich danych nie trzymac w ciastkach, wystarczy ustawic sesje
  18. $_SESSION['logged'] = 'ok';
  19.  }
  20.  else {
  21. $error = 'blad podczas logowania';
  22.  }
  23. }
  24.  
  25. fclose($file);
  26.  
  27. echo"$error";
  28.  
  29. ?>

za kazdym razem, jak ladujesz strone wymagajaca logowania, sprawdzaj, czy $_SESSION['logged'] == 'ok'

a teraz formularz, trzeba go podpiac do skryptu sprawdzajacego:
  1. <form action="login.php" action="post">
  2. Login: <input type="text" name="username"><br>
  3. haslo: <input type="password" name="password"><br>
  4. <input type="submit>
  5. </form>


pisane na szybko, ale powinno dzialac. Warto byloby wstawic jeszcze pare poprawek, sprawdzajacych dane.
Gość_Maniek_*
Witaj wlq

Dzięki za szybką odpowiedź, ale coś mi nie pasuje ... chyba dlatego że jestem kompletnym laikiem jeśli chodzi o php.

Zrobilem tak jak napisałeś - a przynajmniej tak mi się wydaje:

index.php
Kod
<form action="login.php" action="post">
Login: <input type="text" name="username">
<br>haslo: <input type="password" name="password">
<br><input type="submit"></form>


login.ddat
Kod
name1,pass1


login.php
  1. <?
  2.  
  3.  
  4. $plik = 'login.ddat';
  5.  
  6. $file = fopen($plik, "r");
  7.  
  8. while(!feof($file)) {  
  9.  
  10. $line = explode(",", fgets($file, 100));  
  11.  
  12. if($username == $line[0] && $password == $line[1]) {
  13.  
  14.  $_SESSION['logged'] = 'ok';  
  15. }  
  16. else 
  17. {
  18. $error = 'blad podczas logowania';  
  19. }
  20. }
  21.  
  22. fclose($file);
  23.  
  24. echo"$error";
  25.  
  26. ?>


Po poprawnym zalogowaniu wyświetla pustą stronę ...
i jak zrobić

Kod
$_SESSION['logged'] == 'ok'


na zabezpieczonej stronce ...

sorki za takie banalne pytania sadsmiley02.gif
Gość_Maniek_*
acha - jeszcze jedno- nie musi to koniecznie wygladać tak jak napisałem.
Możliwe że można to zrobić dużo prościej.
Chodziło o to, że użytkownik raz podaje login i hasło, i ma dostęp do wszystkich zabezpieczonych stron, do momentu wyłączenia przeglądarki, zaś wejście na strony zabezpieczone, bez uprzedniego logowania jest niemożliwe.

BTW: sorki za dublowanie postów, ale jako gość nie moge ich edytować
wlq
ustaw sobie na stronie dostepnej po zalogowaniu:
  1. <?php
  2. if($_SESSION['logged'] == 'ok') {
  3. echo"zalogowany";
  4. }
  5. else {
  6. echo"niezalogowany";
  7. }
  8. ?>
Gość_Maniek_*
Hmmmm .... pewnie robie coś źle ... ale u mnie to za bardzo nie działa .. offtopic.gif
Chyba będę musiał się wziąść za lekturę jakiegoś manuala/książki do PHPka ...

w każdym razie dzięki za pomoc smile.gif
Gość_Maniek_*
no ladnie jeszcze zamiast smutnej emotkiony wyszedl "off-topic" ... nie wiem jakim cudem sad.gif

jeszcze raz sorki za zaśmiecanie forum

Żegnam
php programmer
Sory, ale jak się bierzesz za coś takiego,
nieznając php to masz chyba coś z głową,
Gość
php programmer - może i masz racje, ale z tego co się orientuje to ten dział nie służy do nauki php od podstaw, tylko - jak jest w opisie - do szukania gotowych skrytpów. A zaimplementować poprawnie wykonany skrypt umiem ... a przynajmniej tak mi się wydaje.

Dalej nie skomentuje, zresztą nie po to jest to forum.

Ide poszukać tego skryptu /i ewentualnej pomocy/ gdzie indziej, może będę miał więcej szczęścia.

BTW: fotka wygląda na kobiecą, a nick na męski ... ciekawe jak to jest ... zresztą co za różnica ..

Niestety mój topic nie wniósł nic wartościowego na to fourm, więc proszę o jego skasowanie.

Miłego dnia wszystkim, mnie już tu nie ma
strife
Ach... Logowanie mój temat biggrin.gif Przed tym jak zrezygnujesz z naszego forum ( bóg wie czemu sadsmiley02.gif ), to zapoznaj się jeszcze z tematem, w którym napisałem prosty systemik, tym trzem osobom w temacie pomógł i nie tylko, może ty też będziesz miał szczęście smile.gif

Cytat
BTW: fotka wygląda na kobiecą, a nick na męski ... ciekawe jak to jest ... zresztą co za różnica ..
Jakiś poziom trzeba zachować, a takie gadki to na PW smile.gif

Niektórzy tutaj czekają pół roku na odpowiedź, a Ty po dwóch dniach chcesz uciec ... Więcej cierpliwości winksmiley.jpg

Jak coś to czekam na ew. pytania dotyczące logowania ( zrymowało się biggrin.gif ).

Pozdrawiam serdecznie smile.gif
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-2024 Invision Power Services, Inc.