Mam taki problem:
1. Zaczne od tego, że na każdej stronie którą chcę zabezpieczyć wywołuję coś takiego:
<?php $auth = &new Auth($db, 'login.php', 'tajne'); ?>
W takim przypadku tak to działa,że druga zmienna jest skryptem do ktorego mnie przenosi czyli do login.php.
2. Po zalogowaniu wracam oczywiście na "strzeżoną "stronę którą chciałem wywołać i tu pojawia się problem. Otóż tworzę takie coś działające w taki sposób że po kliknieciu na link wyglądający tak:
<?php $this->dodajPodmenu($id, "Tajne!", "index.php?modul=news_&akcja=newslist&tytul=Newsy"); ?>
czyli index.php sprawdza czy jest wybrany moduł poprzez:
<?php ?>
i jeżeli się zgadza wywoływany jest kontroler a przez niego szukany odpowiedni moduł który kolejno zawiera daną akcję (tutaj liste newsów).Akcja wykorzystujac swoje obliczenia szuka odpowiedniej "strony ze zmiennymi" , zamienia zmienne na wartości i przesyła do kontrolera który wyświetla wszystko.
3. Mam pytanie, bowiem strona wyświetla coś co nie wymaga obliczen "skryptowych" czyli jakis tekst np. to samych skryptów (tu wyswietlenie newsow) nie wyswietla. Pojawia się bład że nie może odnaleźć akcji
<?php Exception Object ( [message:protected] => Nie podano nazwy akcji do uruchomienia [string:private] => [code:protected] => 0 [file:protected] => ?>
itd.
bowiem patrze na link a tu sam:
http://localhost/public_html/index.php?modul=news_
bez akcji. (?)
Dopiero jak kilkne na link z menu strony już poprawnie wyswietla cała zawartośc zastrzezonej strony.
Klasa Auth u mnie zawiera funkcję taką:
<?php function przekieruj($from = true){ if ($from) { $_SERVER['REQUEST_URI']); } else { } } ?>
redirect to własnie login.php
a skrpt login tak sie zaczyna:
<?php $target = $_GET['from']; } else { $target = 'index.php'; } ?> .... ... </form>
Co mam zrobić żebym nie musiał wybierać ponownie klikając link z menu a zeby wyswietlała mi się poprawnie strona?
Za wszelką pomoc dziękuję!
