Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie
Forum PHP.pl > Forum > Gotowe rozwiązania
M45t3r
Potrzebuje skryptu logowania :] ale nie takiego zwyklego tylko takie w ktory klepiesz www.mojastorna.pl/login.php klepiesz login i haslo, przkierwuje cie do innej strony np admin/index.php, no ale wlasnie teraz chce zeby ktos kto wklepie www.mojastrona.pl/admin/index.php nie widzial zawartosci tej strony bez logowania. itd z innymi podstronami. Jak to zrobic snitch.gif Moze ma ktos takiego gotowca snitch.gif wiem, ze trzeba bedzie edytowac jeszcze te pliki do ktorych nie chce zeby ktos bez zalogowania sie dostal ale to bajka. Z gory dzieki :]
strife
Poszukaj na forum było dużo razy => Logowanie

A potem możesz sobie taki skrypt przerobić będzie Ci napewno potrzebne:
ref.session" title="Zobacz w manualu PHP" target="_manual
header" title="Zobacz w manualu PHP" target="_manual
session_start" title="Zobacz w manualu PHP" target="_manual

itd.

I instrukcje warunkowe... Poszukaj a napewno coś znajdziesz ew. napisz kawałek kodu i powiedz co zmienić jaki masz błąd etc.

Co do blokowania możesz to łatwo zrobić naprzykład:
  1. <?php
  2.  
  3. if (! isset($_SESSION['login'])) // jesli ktos sie nie zaloguje to wywali blad.
  4. {
  5. die('nie masz dostepu');
  6. }
  7.  
  8. ?>

Czyli jeśli sesja login nie będzie zainicjowana.

Pozdro!
M45t3r
Ok wielkie dzięki smile.gif Wystarczyło, ze dokleiłem ten kod ale jest to jedno ale...

przy przechodzeniu w koljene podstrony musze sie caly czas logować... Wiec czy mogbym wkleic tutaj kod pliku login.php i czy ktos moglby mi go odpowiednio przerobic ? Jest to dla mnie bardzo ważne, bo w php jestem dopiero poczatkujacy. Z gory wielkie dzieki
strife
Cytat(M45t3r @ 2005-05-16 20:33:13)
Ok wielkie dzięki smile.gif Wystarczyło, ze dokleiłem ten kod ale jest to jedno ale...

przy przechodzeniu w koljene podstrony musze sie caly czas logować... Wiec czy mogbym wkleic tutaj kod pliku login.php i czy ktos moglby mi go odpowiednio przerobic ? Jest to dla mnie bardzo ważne, bo w php jestem dopiero poczatkujacy. Z gory wielkie dzieki

Jasne że możesz, tyle żeby długość kodu była w miarę rozsądna... :/ Jeśli jest tak jak mówisz to musisz dodać na początku kodu session_start" title="Zobacz w manualu PHP" target="_manual, nie wiem oczywiście jakich zmiennych używasz do twojego logowania.

Przykładowo jeśli po poprawnym wprowadzeniu loginu oraz hasła będzie tworzona sesja login($_SESSION['login']) to taki kod powinien w zupełności wystarczyć, jeśli jednak tak nie jest będzie die();.

Coś takiego umieszczonego na początku skryptu powinno uchronić przed niepowołanym dostępem do strony.
M45t3r
No więc postanowiłem tutaj wstawić ten kod, jesli jest za długi to niech moderator go usunie :]

login.php
  1. <?php $poprawny_login = 'Master';
  2. $poprawne_haslo = 'password';
  3.  
  4. if (isset($login) && isset($haslo))
  5. {
  6.  
  7. if ($login == $poprawny_login && $haslo == $poprawne_haslo)
  8. {
  9.  
  10. session_start();
  11.  
  12.  
  13. session_register('login');
  14.  
  15.  
  16. session_register('licznik');
  17.  
  18.  
  19. header("Location: admin/index.php" . SID);
  20.  
  21. exit();
  22. }
  23. else
  24. {
  25.  
  26. echo 'Nawet nie próbuj :]. Ten dział strony jest tylo dla Administratora :].';
  27. }
  28. }
  29. else
  30. {
  31. ?>
  32. <form method="post" action="admin.php" style="display:inline;">
  33.  
  34. Login: <input type="text" size="20" name="login"><br>
  35.  
  36. Hasło: <input type="password" size="20" name="haslo"><p>
  37.  
  38. <input type="submit" value="Zaloguj">
  39.  
  40. </form>
  41. <? }
  42. ?>


wyloguj.php

  1. <? session_start();
  2. echo 'Zostałeś pomyślnie wylogowany. Kliknij <a href="login.php">tutaj</a>,aby zalogować się ponownie, lub <a href="index.php">tutaj</a> aby powrócić do strony głównej';
  3. session_destroy();
  4. ?>


Jaki kod dodac do kazdej podstrony do ktorej nie chce, zeby ktos dostal sie bez hasla ? Oczywiscie sposob ktory powiedizal mi przedmowca jest dobry ale przy przehodzeniu w inny link przykladowa admin/index.php?page=download wysiwetla error, ze nie mam dostepu smile.gif
revyag
Bo musisz przekazywać id sesji.
  1. <?php
  2. echo '<a href=\"admin/index.php?page=download&amp;'.SID.'\">link</a>';
  3. ?>
M45t3r
nie działa...
crash
Wyciągnij session_start" title="Zobacz w manualu PHP" target="_manual na początek skryptu.
M45t3r
No nadal nie działa :/

  1. <?php
  2. $poprawny_login = 'Master';
  3. $poprawne_haslo = 'password';
  4. if (isset($login) && isset($haslo))
  5. {
  6. if ($login == $poprawny_login && $haslo == $poprawne_haslo)
  7. {
  8. session_register('licznik');
  9. header (&#092;"Location: system/index.php?.SID.\");
  10. exit();
  11. }
  12. else
  13. {
  14. echo 'Nawet nie próbuj :]. Ten dział strony jest tylo dla Administratora :].';
  15. }
  16. }
  17. else
  18. {
  19. ?>
  20. <form method=\"post\" action=\"administracja.php\" style=\"display:inline;\">
  21. Login: <input type=\"text\" size=\"20\" name=\"login\"><br>
  22. Hasło: <input type=\"password\" size=\"20\" name=\"haslo\"><p>
  23. <input type=\"submit\" value=\"Zaloguj\">
  24. </form>
  25. <?
  26. }
  27. ?>


Tak wyglada ten kod. Przy kazdym linku dodaje:

  1. <?php
  2. &amp;'.SID.'
  3. ?>


zabiezpieczam stronę:

  1. <?php
  2. if (! isset($_SESSION['login'])) // jesli ktos sie nie zaloguje to wywali blad.
  3. {
  4. echo 'Nie jestes zalogowany';
  5. }
  6. ?>
i nadal nie działa sad.gif czy moglby ktos w swoim poscie dać poprawiony i działający kod, wraz z malym instruktarzem co mam zrobić ? Bardzo mi na tym zależy.. Z gróy dziękuje, pozdrawiam Master


dodane:

Nadal nie działa czyli moge wejsc bez problemu do 'zabezpieczonego pliku' gdy sie zaloguje to oobok linkow widze, nie jestes zalogwany... nie wiem co zrobic, kombinuje na lweo i prawo i nadal nie działa.. sad.gifsad.gif
Lars
www.webhelp.pl - w tutorialach jest dobry skrypt logowania
oparty na sesjach....
M45t3r
heh.. zapomnialem napisac, ze to juz nieaktualne, bo napisalem skrypcik logowania taki o jaki mi chodziło 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.