![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Najpierw kod...[php:1:2708a2ad6e]<?php //kawalek tablicy $user['klient']='klient.php'; $user['user']='user.php'; //klasa login class login { var $blad; var $login; var $userid; var $poziom; var $tpl; function poziom() { global $user; foreach ($user as $k => $v) { if ($k == $this->poziom) { $this->tpl = $v; return true; } else { return false; } } } function sprawdz_znaki($zmienna) { // cos tam } function sprawdz_usera($login,$haslo) { global $adodb; if($this->sprawdz_znaki($login)) { $this->login=$login; $wynik = $adodb->GetRow("select * from uzytkownicy where login='".$this->login."'"); if (md5($haslo)==$wynik['haslo']) { if($wynik['blokada'] < '1') { $wynik1 = $adodb->GetRow("select * from zbanowaneip where IPzbanowane = '".$_SERVER['REMOTE_ADDR']."'"); if($wynik1['IPzbanowane'] != $_SERVER['REMOTE_ADDR']) { $this->poziom = $wynik['poziom']; if($this->poziom() === true) { $this->userid = $wynik['iduzytkownika']; $this->zalogowany(); return true; } else { $this->blad = 'Brak dostępu'; $this->nieudane_logowanie(); return false; } } else { $this->blad = 'masz zbanowany IP'; $this->nieudane_logowanie(); return false; } } else { $this->blad = 'twoje konto jest zablokowane'; $this->nieudane_logowanie(); return false; } } else { $this->blad = 'nieprawidlowe dane'; $this->nieudane_logowanie(); return false; } } else { $this->blad = 'nieprawidlowe znaki'; $this->nieudane_logowanie(); return false; } } function zalogowany() { global $adodb; //... cos tam sie dzieje $this->akcja = 'Witaj'; } function nieudane_logowanie() { // cos tam sie dzieje i $this->tpl = 'logout.php'; } ?>[/php:1:2708a2ad6e] No i problem... $this->tpl ma ustawiac odpowiedni szablon ktory pozniej sobie wrzucam w smartach.. ale.. cala funkcja logujaca dziala prawidlowo (pod wzgledem samego logowania) ale nie przypisuje .tpl w momencie prawidlowego logowania, przy nie prawidlowym logowaniu wszystko jest ok, nawet gdy ustawienie szablonu dodalem do funkcji zalogowany i gdzies tam w niej dawalem $this->tpl = 'zalogowany.php' to mi wyrzucalo blad, no i tresc bledu Cytat Warning: fetch(templates_c/) [function.fetch]: failed to open stream: No such file or directory in c:usrphpsmartylibsSmarty.class.php on line 1158
Warning: fetch() [function.include]: Failed opening 'templates_c/' for inclusion (include_path='.') in c:usrphpsmartylibsSmarty.class.php on line 1158 Czyli tak jak by $this->tpl bylo puste ... i jeszcze najdziwniejsza sprawa czasami system ten dziala ok. (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) Hmm licze na wasza pomoc i ewentualne pomysły. Pozdrawiam patS. UPDATE Panowie dodam jeszcze ze po nie udanym logowaniu gdy wyrzuci mi .tpl logout.php i tym razem z niego sie loguje to dziala ale z zadnego innego .tpl (czyli jakiegos tam dzialu) juz nie, chociarz .tpl sie niczym nie roznia (prawie niczym ofcouz)... (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 23.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Najpierw jesli mozne to mala uwaga.
Nie kozystaj ze globali w klasach. Jak masz obiekt do pobierania danych z bazy danych $adodb to przeslij go najwyzej przez referencje do obiektu login i wtedy bedzie mozna sie do niego odwolac przez np $this->adodb->GetRow("....."); A czy sprawdzales co sie dzieje w lini 23 [php:1:a15c6e4a6a]<?php $this->tpl = $v; ?>[/php:1:a15c6e4a6a] tzn jaka wartosc ma $v [/list] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
hmmm w tej lini nawet jak przypisze tak
[php:1:5abb70324a]<?php $this->tpl = 'zalogowany.php'; ?>[/php:1:5abb70324a] To sie dzieja dziwne rzeczy bo jak loguje po nie udanej probie logowania (loguje sie wtedy z szablonu logout.php)to mi sie zaloguje (na ten szablon)ale juz z kazdego innego miejsca niechce sie logowac i wyrzuca powyzszy blad. Przejrzalem dokladnie szblony i logout.php i inne sa prawie takie same (a przynajmniej w kluczowych miejscach sie niczym nie roznia) dziwne to jest (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) UPDATEhmm dorzuce jeszcze kawalek kodu gdzie jest wywolywane logowanie...[php:1:5abb70324a]<?php case "logowanie": $login = new login; if ($login->sprawdz_usera($_POST['login'],$_POST['haslo']) === true) { $tpl = $login->tpl; } else { $tpl = $login->tpl; $blad = $login->blad; } break; ?>[/php:1:5abb70324a] I najdzwniejsze jest to ze jak sie nieprawidlowo zaloguje czyli wykona sie else to pozniej sie zaloguje prawidlowo z tego miejsca gdzie mnie else wyrzucilo... :? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
Panowie poporawialem co i jak trzeba (wedke wskazowek chlopaków z #php.pl) :wink: ale dalej nie dziala chociarz błąd jest tym razem taki
Cytat Warning: Smarty error: unable to read template resource: "" in c:usrphpsmartylibsSmarty.class.php on line 1042
ręce mi opadają... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
Panowie udalo mi się działa 8) .
Okazało się że coś z moim localhostem nie tak a zkodem wszystko było w porzdku. Za pomoc niesioną tutaj i na ircu dziękuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Pozdrawiam patS |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:28 |