teraz struktura wyglada tak:
1. do foldera views wrzocilam wszystkie moje pliki ktore utworzylam wczesniej.
2. Poprzenosilam z nich kod odpowiedzialny za komunikacje z baza do jednego glonego kontrolera ktory stworzylam w katalogu controllers.
Co mi to dalo:
1. mam ladnie wygladajace adresy URL http://localhost:8888/ci/main/o_komenda/1/struktury/armia zamiast tych wszytskich zmiennych za znakiem zapytania
2. wyczyscil mi sie kod na podstronach bo nie musze pilnowac polaczenia z baza no i wiecznego sprawdzania tych zmienych $_GET. Wszystkie zapytania do bazy teraz sa w kontrolerze.
Jednak i tak wiem ze dobrze tego nie zaprojektowalam..
1. Wciaz inkluduje dziesiatki plikow w zaleznosci od tego co jest w adresie.. Bo jaki moze byc inny sposob aby wyglad strony (menu, tlo) zrobic tylko raz, a odpowiednie formularze wczytywac do jednego miejsca ktore sie wlasnie dynamicznie zmienia?? Chyba tak czy siak to trzeba includowac..
2. Druga rzecz ktora mnie bardzo niepokoi to to ze ten kontroler ciagle sie wydluza i wydluza. Juz ma ponad 1000 linijek a to dopiero poczatek..
3. No i trzeca najwazeneijsza rzecz to to ze nie uzywam trzeciego elementu MVC czyli MODELU. Bo uzywam tylko V i C. Nie mam pojecia jak go moge uzyc w swojej aplikacji. Naprawde szukalam i czytalam ale nie potrafie tego jakos zwiazac w calosc. Wiekszosc przykladow jest na PHP5 obiektowym a CI bazuje na PHP4..
Moze ktos mi powie jak uzyc w ponizszym przykladzie trzeciego elemntu MODEL, chyba ze poprostu nie ma potrzeby go uzywac jak sie pisze w php4..
W kontrolerze funkcja:
function login()
{
if (count($_POST) > 0 && isset($_POST['login']) && isset($_POST['password']))
{
$data['login'] = $_POST['login'];
$data['password'] = $_POST['password'];
$data['tak']= "tak";
$this->db->where('login' , $_POST['login']);
$this->db->where('password' , $_POST['password']);
$this->db->where('rola' , 'A');
$data['query'] = $this->db->get('uzytkownik');
$this->load->view("login" , $data);
}
else
{
$data['tak']= "";
$this->load->view("login" , $data);
}
}
W views/login.php mam:
no i kod ktory sparwdza moze zalogowac tez w pliku views.login.php
if(strlen($tak) > 0 ):
if($query->num_rows() > 0):
$_SESSION['username'] = $login;
$_SESSION['password'] = $password;
$_SESSION['role'] = "admin";
redirect("");
else :
print "Niezgodność loginu z hasłem.";
endif;
endif;
I to cale logowanie. jak zaputanie w kontrolerze zwroci jakies rekordy to przekierowuje do strony glownej i ustawia zmienne sesyjne.
I jak mam to podzielic aby uzyc jeszcze MODELU czy moze wcale nie powinnam go uzywac??
Prosze o jakies podpowiedzi..