Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Logowanie do palenu admina
Forum PHP.pl > Forum > Przedszkole
Elber
Witam, mam problem, otóż mam sobie malutki prościutki panel admina w którym kilka rzeczy zmieniam i w zależności co jest w $_GET taki plik ładuje się do div'a oparte jest to na switchu i teraz chcę do niego zrobić logowanie oparte na sesji. Czy jak w moim index.php dam
  1.  
  2. //logowanie
  3. if ($_POST['login'] = 'login' and $_POST['haslo'] = 'haslo')
  4. { $_SESSION['zalogowany'] = true;}
  5. else { $_SESSION['zalogowany'] = false;}
  6.  
  7.  
  8. //sprawdzenie, czy zalogowany
  9. if(isset($_SESSION['zalogowany']) and $_SESSION['zalogowany']){
  10. //tutaj ładowanie pliku w zależności od $_GET
  11. }else{
  12. echo 'nie jesteś zalogowany';
  13. }


Czy wszystko będzie ok? Czy muszę jeszcze coś do każdego ładowanego pliku dodać odnośnie sesji ?
thek
A więc na szybko:
1. Sprawdzenie istnienia zalogowania musi być na każdej stronie administracyjnej
2. if ($_POST['login'] == 'login' and $_POST['haslo'] == 'haslo')
Elber
A da się takie logowanie rozwiązać w inny sposób ?
stefik4
Jeśli masz jeden plik stały index, w którym w środkowej cześć includujesz jakieś podstrony to nie. Wystarczy że masz to w pliku index.php bo przecież to o będzie wciąż wyświetlany.
Elber
Czyli jak to index.php jest wciąż wyświetlany a inne pliki są do niego includowane to nie muszę w każdym includowanym sprawdzać istnienia zalogowania? A da się jakoś zrobić tak np. w .htaccess że jak ktoś będzie chciał wywołać inny plik niż index.php w katalodu admin to go przeniesie na index.php??
Rid
Cytat(Elber @ 27.12.2010, 13:28:47 ) *
A da się takie logowanie rozwiązać w inny sposób ?

Da rady:Poczytaj o uwierzytelnieniu HTTP
Elber
właśnie nie chcę zrobić logowania przez .htaccess bo login i hasło są w bazie danych winksmiley.jpg
Rid
Cytat
właśnie nie chcę zrobić logowania przez .htaccess bo login i hasło są w bazie danych

To niczemu nie przeszkadza-zawsze można wyciągnąć dane z bazy przed skryptem autoryzacji.
Elber
W jaki sposób? smile.gif Bo logowanie .htaccess jest chyba najbezpieczniejsze ?
Kużdo
W index.php:
  1. define("IN_CMS", TRUE);


a w każdym includowanym pliku, na samym początku:
  1. if (!defined("IN_CMS")) { die("Access Denied"); }
ShadowD
Wszytko co administrator widzi czyli pliki includowane do inndex zawsze trzymaj poza katalogiem głównym serwera, a w indexie includuj je jelśli dane się zgadają - nie kombinuj to najlepsza metoda.
Elber
Dzięki wielkie @Kużdo winksmiley.jpg Działa smile.gif

Mam jeszcze pytanko bo na localhoście
  1. header('Location: index.php');
działa mi normalnie a na serwerze mam błąd ...


Cytat
Warning: Cannot modify header information - headers already sent by (output started at index.php:25) in index.php on line 70


Co jest nie tak ?
webdice
Przynajmniej raz na tydzień ktoś pyta o ten błąd. Poszukaj.
stefik4

wklej na początku kodu.
i na koncu
Elber
No właśnie szukałem ... ale widocznie źle winksmiley.jpg

Edit. Działa smile.gif Ale nie wiem dlaczego biggrin.gif Co ma ob_start() do header('Location: index.php'); questionmark.gif
daros17
wystarczy wkleić błąd do google i trochę poszukać winksmiley.jpg
Cannot_add_header_information_-_headers_already_sent
webdice
Cytat(stefik4 @ 27.12.2010, 14:54:51 ) *

wklej na początku kodu.
i na koncu


To nie jest rozwiązanie problemu, to jest jego ominięcie.
Elber
Ok winksmiley.jpg Dzięki haha.gif zapomniałem o tym kompletnie winksmiley.jpg Ale nie wiedziałem że tak prosto to można rozwiązać smile.gif Dzięki wszystkim za pomoc smile.gif

EDIT:
@webdice to jak można ten problem rozwiązać ?
thek
Buforuje wyjście. Przed header nie masz prawa wysłać nic do przeglądarki. Ty to robiłeś. Ob przechowuje wyjście w buforze. Jeśli wyskoczy header to obsłuży go, jeśli nie to wywali wszystko co masz w buforze gdy zrobisz flusha winksmiley.jpg

A problem rozwiązujesz poprzez takie przepisanie aplikacji, że najpierw wykonują się wszystkie operacje logiczne, a dopiero potem masz wyświetlenie szablonu.
Elber
Cytat(thek @ 27.12.2010, 15:10:41 ) *
A problem rozwiązujesz poprzez takie przepisanie aplikacji, że najpierw wykonują się wszystkie operacje logiczne, a dopiero potem masz wyświetlenie szablonu.


Tak też zrobiłem winksmiley.jpg Dzięki wielkie za pomoc smile.gif Wszystko ładnie działa 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-2025 Invision Power Services, Inc.