Evo još jedne aplikacije koja ima za cilj da demonstrira moj skromni trud.
U pitanju je simulacija nekih osnovnih usluga koje se koriste u bankarstvu. Naravno i ovu aplikaciju pokreće CodeIgniter framework, iz već dobro znanih razloga.
Dakle, kao i kod bloga, f-je controller-a pozivaju tzv. multiple view.
Ova aplikacija koristi višedimenzionalne sesije, što znači da admin, i jedino admin može upravljati sadržajem. Parametri za pristup su:
Username: vlada
Password: admin
Od biblioteka koristi "email", "session", "form_validation", "database"...
Ostale aplikacije možete pogledati na github.com/vlradovanovic
Za sam početak, naravno baza koja se može preuzeti ovde.
Biblioteke i helpere je moguće učitati u konstruktoru klase, samoj f-ji ili u autoload.php
database.php (podešavanja baze) izgleda ovako:
Postaviti default controller u routes.php
Controllers/LoginController.php izgleda ovako:
Views/Login.php izgleda ovako:
Models/BankModel.php.php izgleda ovako:
Controllers/Home.php.php izgleda ovako:
Views/header.php izgleda ovako:
Views/about_me.php izgleda ovako:
U pitanju je simulacija nekih osnovnih usluga koje se koriste u bankarstvu. Naravno i ovu aplikaciju pokreće CodeIgniter framework, iz već dobro znanih razloga.
Dakle, kao i kod bloga, f-je controller-a pozivaju tzv. multiple view.
Ova aplikacija koristi višedimenzionalne sesije, što znači da admin, i jedino admin može upravljati sadržajem. Parametri za pristup su:
Username: vlada
Password: admin
Od biblioteka koristi "email", "session", "form_validation", "database"...
Ostale aplikacije možete pogledati na github.com/vlradovanovic
Za sam početak, naravno baza koja se može preuzeti ovde.
-- phpMyAdmin SQL Dump -- version 3.5.2 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Sep 23, 2013 at 01:43 PM -- Server version: 5.5.25a -- PHP Version: 5.4.4 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Database: `ebank` -- -- -------------------------------------------------------- -- -- Table structure for table `klijenti` -- CREATE TABLE IF NOT EXISTS `klijenti` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ime` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `prezime` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `ulica` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `mesto` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `telefon` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `brracuna` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `brojlk` int(30) NOT NULL, `JMBG` varchar(15) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ; -- -- Dumping data for table `klijenti` -- INSERT INTO `klijenti` (`id`, `ime`, `prezime`, `ulica`, `mesto`, `telefon`, `brracuna`, `brojlk`, `JMBG`) VALUES (1, 'Vladimir', 'Radovanović', 'Lep. bulevar 1', 'Kragujevac', '0606804060', '225-11522366-58', 336558, '0804984720019'), (2, 'Milodarka', 'Radovanović', 'Nikole Pašića 10/31', 'Kragujevac', '0649804060', '224-22366522-85', 366842, '2604984788916'), (3, 'Miodrag', 'Radovanović', 'Milivoja Živanovića 5/22', 'Kragujevac', '0641152806', '114-5566225-55', 25441, '3107949720016'); -- -------------------------------------------------------- -- -- Table structure for table `korisnici` -- CREATE TABLE IF NOT EXISTS `korisnici` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ; -- -- Dumping data for table `korisnici` -- INSERT INTO `korisnici` (`id`, `username`, `password`) VALUES (1, 'vlada', '21232f297a57a5a743894a0e4a801fc3'); -- -------------------------------------------------------- -- -- Table structure for table `nalog_isplata` -- CREATE TABLE IF NOT EXISTS `nalog_isplata` ( `id_isplata` int(11) NOT NULL AUTO_INCREMENT, `id_klijenta` int(15) NOT NULL, `JMBG` varchar(15) COLLATE utf8_unicode_ci NOT NULL, `isplatilac` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `primalac` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `svrha` text COLLATE utf8_unicode_ci NOT NULL, `brracuna` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `iznos` decimal(10,2) NOT NULL, `poziv_na_broj` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `komentar` text COLLATE utf8_unicode_ci NOT NULL, `datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id_isplata`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ; -- -- Dumping data for table `nalog_isplata` -- INSERT INTO `nalog_isplata` (`id_isplata`, `id_klijenta`, `JMBG`, `isplatilac`, `primalac`, `svrha`, `brracuna`, `iznos`, `poziv_na_broj`, `komentar`, `datum`) VALUES (1, 1, '0804984720019', 'Vladimir Radovanović', 'Milodarka Radovanovic', 'asdfsdfsdfdf', '225-11522366-58', 49.00, '33622', '0', '2013-09-05 11:45:41'), (2, 1, '0804984720019', 'Vladimir Radovanović', 'Mileva', 'fghfh', '225-11522366-58', 20.00, '556-332RS', '0', '2013-09-10 07:06:16'); -- -------------------------------------------------------- -- -- Table structure for table `nalog_uplata` -- CREATE TABLE IF NOT EXISTS `nalog_uplata` ( `id_uplata` int(11) NOT NULL AUTO_INCREMENT, `id_klijenta` int(15) NOT NULL, `JMBG` varchar(15) COLLATE utf8_unicode_ci NOT NULL, `uplatilac` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `primalac` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `svrha` text COLLATE utf8_unicode_ci NOT NULL, `racun_primaoca` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `iznos` decimal(10,2) NOT NULL, `poziv_na_broj` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `komentar` text COLLATE utf8_unicode_ci NOT NULL, `datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id_uplata`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=47 ; -- -- Dumping data for table `nalog_uplata` -- INSERT INTO `nalog_uplata` (`id_uplata`, `id_klijenta`, `JMBG`, `uplatilac`, `primalac`, `svrha`, `racun_primaoca`, `iznos`, `poziv_na_broj`, `komentar`, `datum`) VALUES (23, 1, '0804984720019', 'Vladimir Radovanović', 'xcvxcv', 'vxcv', 'xcvxcv', 50.00, 'xcvv', 'xcvcxvxv', '2013-09-04 22:00:00'), (24, 1, '0804984720019', 'Vladimir Radovanović', 'vscv c', 'vxcvxcv', 'xvxcv', 600.00, 'xcvxcv', 'xcvv', '2013-09-04 22:00:00'), (25, 1, '0804984720019', 'Vlada Radovanović', 'sdsd', 'asdasd', 'asdasd', 550.00, 'adasd', 'asdasd', '2013-09-04 22:00:00'), (26, 1, '0804984720019', 'Vlada Radovanović', 'dfdsf', 'sdff', 'sdfsdf', 600.00, 'sf', 'sfsdfsf', '2013-09-04 22:00:00'), (27, 1, '0804984720019', 'Vlada Radovanović', 'sdfsdf', 'sdfsdf', 'sdfdsf', 600.00, 'dfsf', 'dsfdsfdfsf', '2013-09-04 22:00:00'), (28, 1, '0804984720019', 'Vlada Radovanović', 'Milodarka Radovanovic', 'dfgd', '336-552669-55', 152.00, '336', 'fgh', '2013-09-04 22:00:00'), (29, 1, '0804984720019', 'Vlada Radovanović', 'dfsdf', 'sdfdsf', 'sdfsdf', 400.00, 'sdff', 'sdff', '2013-09-04 22:00:00'), (30, 1, '0804984720019', 'Vlada Radovanović', 'sdfds', 'fdfsf', 'sdfdf', 300.00, 'dsfsdf', 'sdf', '2013-09-04 22:00:00'), (31, 1, '0804984720019', 'Vlada Radovanović', 'Milodarka Radovanovic', 'tert', 'ertrt', 100.00, 'ererg', 'gerg', '2013-09-04 22:00:00'), (32, 1, '0804984720019', 'Vlada Radovanović', 'dfgdfg', 'dgdfg', 'sdfdf', 300.00, 'fdgfdg', 'dfgd', '2013-09-04 22:00:00'), (33, 1, '0804984720019', 'Vlada Radovanović', 'dfgfd', 'dfgdfg', 'fgdfg', 152.00, 'dfgfdg', 'dfgfdg', '2013-09-04 22:00:00'), (34, 1, '0804984720019', 'Vlada Radovanović', 'Milodarka Radovanovic', 'sfsd', '336-552669-55', 500.00, 'dfgdg', 'fdsfds', '2013-09-04 22:00:00'), (35, 1, '0804984720019', 'Vlada Radovanović', 'Milodarka Radovanovic', 'dfgdfgd', 'fgdfgfdg', 600.00, 'dfgfg', 'gdfgfd', '2013-09-04 22:00:00'), (36, 1, '0804984720019', 'Vlada Radovanović', 'dfgdfg', 'sdfdsf', '336-552669-55', 400.00, 'dfgdg', 'sdfsdfsdf', '2013-09-04 22:00:00'), (37, 1, '0804984720019', 'Vlada Radovanović', 'fgbbfb', 'fgbgb', '336-552669-55', 500.00, 'fbgb', 'fbfgb', '2013-09-04 22:00:00'), (38, 1, '0804984720019', 'Vlada Radovanović', 'ssacsac', '0', '0', 600.00, 'ascasc', '0', '2013-09-04 22:00:00'), (39, 1, '0804984720019', 'Vladimir Radovanović', 'JP Srbija Gas', 'Racun za gas', '665-556222-22', 150.00, '223-22', 'osodasd', '2013-09-04 22:00:00'), (40, 1, '0804984720019', 'Vladimir Radovanović', 'sdsd', 'sdcfsdv', 'sdvsdv', 100.00, 'sdvsd', 'sdvsd', '2013-09-04 22:00:00'), (41, 1, '0804984720019', 'Vladimir Radovanović', 'zczxc ', 'zxczczc', 'zxccxxc', 25.00, 'xczc', 'zxcxzc', '2013-09-04 22:00:00'), (42, 1, '0804984720019', 'Vladimir Radovanović', 'Milodarka Radovanovic', 'fghdfgg', 'fdgdfg', 50.00, 'dfgdfg', 'dfgdfg', '2013-09-08 22:00:00'), (43, 1, '0804984720019', 'Vladimir Radovanović', 'fghfgh', 'fghgfh', 'fgfghgh', 30.00, 'fhfgh', 'fgfh', '2013-09-09 07:51:08'), (44, 1, '0804984720019', 'Vladimir Radovanović', 'Leposava Mirovic', 'Kredit za telefon', '663-225442-69', 300.00, '556-332RS', 'Dopuna kredita', '2013-09-10 06:57:53'), (45, 1, '0804984720019', 'Vladimir Radovanović', 'Leposava Mirovic', '0', '0', 20.00, '556-332RS', '0', '2013-09-10 06:59:50'), (46, 1, '0804984720019', 'Vladimir Radovanović', 'Mileva', '0', '0', 332.00, 'sdfsdf', '0', '2013-09-10 07:02:46'); -- -------------------------------------------------------- -- -- Table structure for table `racun` -- CREATE TABLE IF NOT EXISTS `racun` ( `id` int(11) NOT NULL AUTO_INCREMENT, `broj_racuna` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `broj_lk` int(30) NOT NULL, `JMBG` varchar(15) COLLATE utf8_unicode_ci NOT NULL, `vrsta` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `banka` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `prethodno_stanje` decimal(10,2) NOT NULL, `trenutno_stanje` decimal(10,2) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ; -- -- Dumping data for table `racun` -- INSERT INTO `racun` (`id`, `broj_racuna`, `broj_lk`, `JMBG`, `vrsta`, `banka`, `prethodno_stanje`, `trenutno_stanje`) VALUES (1, '225-11522366-58', 336558, '0804984720019', 'Dinarski', 'EFG', 948.00, 950.00), (2, '224-22366522-85', 366842, '2604984788916', 'Dinarski', 'ProCredin Bank AD', 225222.00, 55220.00), (3, '114-5566225-55', 25441, '3107949720016', 'Devizni', 'Komercijalna banka', 552.00, 225.00); -- -------------------------------------------------------- -- -- Table structure for table `uplata_licni` -- CREATE TABLE IF NOT EXISTS `uplata_licni` ( `id_uplata` int(11) NOT NULL AUTO_INCREMENT, `id_klijenta` int(15) NOT NULL, `JMBG` varchar(15) COLLATE utf8_unicode_ci NOT NULL, `iznos` decimal(10,2) NOT NULL, `komentar` text COLLATE utf8_unicode_ci NOT NULL, `datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id_uplata`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ; -- -- Dumping data for table `uplata_licni` -- INSERT INTO `uplata_licni` (`id_uplata`, `id_klijenta`, `JMBG`, `iznos`, `komentar`, `datum`) VALUES (1, 1, '0804984720019', 500.00, '0', '2013-09-13 09:46:06'), (2, 1, '0804984720019', 2.00, '0', '2013-09-13 09:47:43'); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Biblioteke i helpere je moguće učitati u konstruktoru klase, samoj f-ji ili u autoload.php
$autoload['libraries'] = array('database', 'session', 'form_validation');
/*
| -------------------------------------------------------------------
| Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array('url', 'form');
database.php (podešavanja baze) izgleda ovako:
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = ''; $db['default']['database'] = 'ebank'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE;
Postaviti default controller u routes.php
$route['default_controller'] = "LoginController"; $route['404_override'] = '';
Controllers/LoginController.php izgleda ovako:
<?php
class LoginController extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->model('BankModel');
}
function index()
{
$this->load->view('login');
}
function provera()
{
$this->form_validation->set_rules('username', 'Korisničko ime', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Lozinka', 'trim|required|xss_clean|callback_proveri_lozinku');
if ($this->form_validation->run())
{
redirect('Home', 'refresh');
}
else {
$this->load->view('login');
}
}
function proveri_lozinku($user, $pass)
{
$user = $this->input->post('username');
$pass = $this->input->post('password');
if ($result = $this->BankModel->proveri($user, $pass))
{
$sess_array = array();
foreach ($result as $rec) {
$sess_array = array(
'username' => $rec->username,
);
}
$this->session->set_userdata('logged', $sess_array);
return TRUE;
}
else {
$this->form_validation->set_message('proveri_lozinku', 'GREŠKA! Uneli ste pogrešno korisničko ime
ili lozinku. Pokušajte ponovo!');
return FALSE;
}
}
}
?>
Views/Login.php izgleda ovako:
html xmlns="http://www.w3.org/1999/xhtml">ebanking online banking
Created by Vladimir Radovanović</body> </html><?php echo validation_errors(); ?> <?php echo form_open('LoginController/provera'); ?><?php echo form_close(); ?>
Korisničko ime: Lozinka:
Models/BankModel.php.php izgleda ovako:
<?php
class BankModel extends CI_Model
{
function proveri($user, $pass)
{
$this->db->where('username', $user);
$this->db->where('password', md5($pass));
$query = $this->db->get('korisnici');
if ($query->num_rows() == 1)
{
return $query->result();
return TRUE;
}
else return FALSE;
}
function proveri_korisnika($br_racuna, $br_licne_karte)
{
$this->db->where('brracuna', $br_racuna);
$this->db->where('brojlk', $br_licne_karte);
$query = $this->db->get('klijenti');
if ($query->num_rows() == 1)
{
return $result = $query->result();
return TRUE;
}
else return FALSE;
}
function getPayment($obj)
{
$this->db->select('t1.id_klijenta, t1.datum, t1.iznos, t1.primalac, t1.racun_primaoca, t1.svrha, t2.id');
$this->db->from('nalog_uplata AS t1, klijenti AS t2');
$this->db->where('t1.id_klijenta = t2.id');
$this->db->where('t2.id', $obj['id']);
$this->db->order_by('datum', 'desc');
$query = $this->db->get();
if ($query->num_rows >= 0)
{
return $result = $query->result();
}
else return FALSE;
}
function getPayoff($obj)
{
$this->db->select('t1.id_klijenta, t1.datum, t1.iznos, t1.isplatilac, t1.primalac, t1.svrha, t2.id');
$this->db->from('nalog_isplata AS t1, klijenti AS t2');
$this->db->where('t1.id_klijenta = t2.id');
$this->db->where('t2.id', $obj['id']);
$this->db->order_by('datum', 'desc');
$query = $this->db->get();
if ($query->num_rows >= 0)
{
return $result = $query->result();
}
else return FALSE;
}
function getPaymentPersonal($obj)
{
$this->db->select('t1.id_klijenta, t1.datum, t1.iznos, t2.id');
$this->db->from('uplata_licni AS t1, klijenti AS t2');
$this->db->where('t1.id_klijenta = t2.id');
$this->db->where('t2.id', $obj['id']);
$this->db->order_by('datum', 'desc');
$query = $this->db->get();
if ($query->num_rows >= 0)
{
return $result = $query->result();
}
else return FALSE;
}
function getData($obj)
{
$this->db->select('*');
$this->db->from('klijenti');
$this->db->where('id', $obj['id']);
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows == 1)
{
return $result = $query->result();
}
else return FALSE;
}
function getAccount($obj)
{
$this->db->select('t1.broj_racuna, t1.JMBG, t1.vrsta, t1.banka, t1.prethodno_stanje, t1.trenutno_stanje, t2.JMBG');
$this->db->from('racun AS t1, klijenti AS t2');
$this->db->where('t1.JMBG = t2.JMBG');
$this->db->where('t2.id', $obj['id']);
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows == 1)
{
return $result = $query->result();
}
else return FALSE;
}
function edit_client($id)
{
$data = array ('ime' => $this->input->post('ime'),
'prezime' => $this->input->post('prezime'),
'ulica' => $this->input->post('ulica'),
'mesto' => $this->input->post('mesto'),
'telefon' => $this->input->post('telefon'));
$this->db->where('id', $id);
$update = $this->db->update('klijenti', $data);
return $update;
}
function edit_account($id)
{
$data = array ('broj_racuna' => $this->input->post('broj_racuna'),
'vrsta' => $this->input->post('vrsta'),
'banka' => $this->input->post('banka')
);
$this->db->where('id', $id);
$update = $this->db->update('racun', $data);
return $update;
}
function getBodyData()
{
$this->db->select('ime, prezime, ulica, mesto, telefon');
$this->db->from('klijenti');
$this->db->where('id', $this->uri->segment(3));
$upit = $this->db->get();
if ($upit->num_rows > 0)
{
return $upit->result();
return TRUE;
}
else return FALSE;
}
function getAccountData()
{
$this->db->select('*');
$this->db->from('racun');
$this->db->where('id', $this->uri->segment(3));
$upit = $this->db->get();
if ($upit->num_rows > 0)
{
return $upit->result();
return TRUE;
}
else return FALSE;
}
function getTrenutnoStanje($obj)
{
$this->db->where('id', $obj['id']);
$query = $this->db->get('racun');
foreach ($query->result() as $row) {
return $row->trenutno_stanje;
}
}
function uplati($records, $iznos)
{
foreach ($records as $rec) {
$data = array('uplatilac' => $rec->ime.' '.$rec->prezime,
'JMBG' => $rec->JMBG,
'primalac' => $this->input->post('primalac'),
'svrha' => $this->input->post('svrha_uplate'),
'racun_primaoca' => $this->input->post('racun_primaoca'),
'iznos' => $iznos,
'id_klijenta' => $rec->id,
'poziv_na_broj' => $this->input->post('poziv_na_broj'),
'komentar' => $this->input->post('komentar'));
}
$query = $this->db->insert('nalog_uplata', $data);
if ($query)
{
return TRUE;
}
else return FALSE;
}
function isplati($records, $iznos)
{
foreach ($records as $rec) {
$data = array('isplatilac' => $rec->ime.' '.$rec->prezime,
'JMBG' => $rec->JMBG,
'primalac' => $this->input->post('primalac'),
'svrha' => $this->input->post('svrha_isplate'),
'brracuna' => $rec->brracuna,
'iznos' => $iznos,
'id_klijenta' => $rec->id,
'poziv_na_broj' => $this->input->post('poziv_na_broj'),
'komentar' => $this->input->post('komentar'));
}
$query = $this->db->insert('nalog_isplata', $data);
if ($query)
{
return TRUE;
}
else return FALSE;
}
function uplati_licni($records, $iznos)
{
foreach ($records as $rec) {
$data = array(
'JMBG' => $rec->JMBG,
'iznos' => $iznos,
'id_klijenta' => $rec->id,
'komentar' => $this->input->post('komentar'));
}
$query = $this->db->insert('uplata_licni', $data);
if ($query)
{
return TRUE;
}
else return FALSE;
}
function oduzmi_stanje($novo_stanje, $trenutno_stanje, $obj)
{
$data = array('prethodno_stanje' => $trenutno_stanje,
'trenutno_stanje' => $novo_stanje);
$this->db->where('id', $obj['id']);
$update = $this->db->update('racun', $data);
return $update;
}
}
?>
Controllers/Home.php.php izgleda ovako:
<?php
class Home extends CI_Controller
{
function __construct() {
parent::__construct();
$this->load->model('BankModel');
}
function index()
{
if ($this->session->userdata('logged'))
{
$this->load->view('header');
$this->load->view('menu');
$this->load->view('content');
$this->load->view('footer');
}
else {
$this->load->view('restricted');
}
}
function logout()
{
$this->session->unset_userdata('logged');
redirect(base_url());
}
function clients_payment()
{
$this->load->view('header_client_payment');
$this->load->view('footer');
}
function clients_payout()
{
$this->load->view('header_client_payout');
$this->load->view('footer');
}
function payment_personal()
{
$this->load->view('header_payment_personal');
$this->load->view('footer');
}
function clients_history()
{
$this->load->view('header_client_history');
$this->load->view('footer');
}
function clients_access()
{
$this->load->view('clients_access');
$this->load->view('footer');
}
function validation_uplata()
{
$this->form_validation->set_rules('brracuna', 'Broj računa', 'trim|required|xss_clean');
$this->form_validation->set_rules('brojlk', 'Broj lične karte', 'trim|required|xss_clean|callback_provera_korisnika');
if ($this->form_validation->run())
{
redirect(site_url().'Client/uplata', 'refresh');
}
else {
$this->load->view('header_client_payment');
$this->load->view('footer');
}
}
function validation_isplata()
{
$this->form_validation->set_rules('brracuna', 'Broj računa', 'trim|required|xss_clean');
$this->form_validation->set_rules('brojlk', 'Broj lične karte', 'trim|required|xss_clean|callback_provera_korisnika');
if ($this->form_validation->run())
{
redirect(site_url().'Client/isplata', 'refresh');
}
else {
$this->load->view('header_client_payment');
$this->load->view('footer');
}
}
function validation_uplata_licni()
{
$this->form_validation->set_rules('brracuna', 'Broj računa', 'trim|required|xss_clean');
$this->form_validation->set_rules('brojlk', 'Broj lične karte', 'trim|required|xss_clean|callback_provera_korisnika');
if ($this->form_validation->run())
{
redirect(site_url().'Client/uplata_licni', 'refresh');
}
else {
$this->load->view('header_payment_personal');
$this->load->view('footer');
}
}
function validation_access()
{
$this->form_validation->set_rules('brracuna', 'Broj računa', 'trim|required|xss_clean');
$this->form_validation->set_rules('brojlk', 'Broj lične karte', 'trim|required|xss_clean|callback_provera_korisnika');
if ($this->form_validation->run())
{
redirect(site_url().'Client', 'refresh');
}
else {
$this->load->view('clients_access');
$this->load->view('footer');
}
}
function validation_istorija()
{
{
$this->form_validation->set_rules('brracuna', 'Broj računa', 'trim|required|xss_clean');
$this->form_validation->set_rules('brojlk', 'Broj lične karte', 'trim|required|xss_clean|callback_provera_korisnika');
if ($this->form_validation->run())
{
redirect(site_url().'Client/uvid', 'refresh');
}
else {
$this->load->view('header_client_history');
$this->load->view('footer');
}
}
}
function kontakt()
{
if ($this->session->userdata('logged'))
{
$this->load->view('header');
$this->load->view('menu');
$this->load->view('contact');
$this->load->view('footer');
}
else {
$this->load->view('restricted');
}
}
function o_meni()
{
if ($this->session->userdata('logged'))
{
$this->load->view('header');
$this->load->view('menu');
$this->load->view('about_me');
$this->load->view('footer');
}
else {
$this->load->view('restricted');
}
}
function o_aplikaciji()
{
if ($this->session->userdata('logged'))
{
$this->load->view('header');
$this->load->view('menu');
$this->load->view('about_app');
$this->load->view('footer');
}
else {
$this->load->view('restricted');
}
}
function validation_contact()
{
$this->form_validation->set_rules('ime', 'Ime', 'trim|required|xss_clean');
$this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean|valid_email');
$this->form_validation->set_rules('poruka', 'Poruka', 'trim|required|xss_clean');
if ($this->form_validation->run())
{
$this->load->helper('email');
$this->load->library('email');
$this->email->from(set_value("email"), set_value("ime"));
$this->email->to("vl.radovanovic@gmail.com");
$this->email->subject('Pitanje u vezi aplikacije ebanking');
$this->email->message(set_value("poruka"));
$mail = $this->email->send();
if ($mail)
{
$this->load->view('header');
$this->load->view('success');
$this->load->view('footer');
}
else show_404();
}
else {
$this->load->view('header');
$this->load->view('menu');
$this->load->view('contact');
$this->load->view('footer');
}
}
function provera_korisnika()
{
$br_racuna = $this->input->post('brracuna');
$br_licne_karte = $this->input->post('brojlk');
if ($redovi = $this->BankModel->proveri_korisnika($br_racuna, $br_licne_karte))
{
$sess_array = array();
foreach ($redovi as $red) {
$sess_array = array(
'ime' =>$red->ime,
'id' => $red->id
);
}
return $this->session->set_userdata('logged_client', $sess_array);
}
else {
$this->form_validation->set_message('provera_korisnika','
GREŠKA. Uneli ste pogrešan broj računa ili lične karte, Pokušajte ponovo');
return FALSE;
}
}
}
?>
Views/header.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">Views/menu.php izgleda ovako:ebanking <?php $temp = $this->session->userdata('logged'); $users['username'] = $temp['username']; echo 'dobrodošli: '.$users['username'].''; ?>
Created by Vladimir Radovanović
<div id="wrapper" class="container">
Views/content.php izgleda ovako:
<div id="three-column" class="container">
uplata na račun
Ovaj servis omogućuje sve vidove uplata na račun poverioca. Mogu se izvršiti i oslali
vidovi plaćanja putem opšte uplatnice.
<?php if (!$this->session->userdata('logged_client'))
{
?>
<a href=<?php echo base_url()."Home/clients_payment"; ?> class="button">Izvrši uplatu
<?php
}
else {
?>
<a href=<?php echo base_url()."Client/uplata"; ?> class="button">Izvrši uplatu
isplata gotovine
Ovaj servis omogućuje sve isplatu novca u gotovom. Neophodno je imati sredstva na računu za uspešnu za uspešnu realizaciju.
<?php if (!$this->session->userdata('logged_client'))
{
?>
<a href=<?php echo base_url()."Home/clients_payout"; ?> class="button">Izvrši isplatu
<a href=Izvrši isplatu
Uplata na sopstven račun
Ovim servisom možete izvršiti uplate na sopstven račun.
<?php if (!$this->session->userdata('logged_client'))
{
?>
<a href=Uplati na račun
<?php
}
else {
?>
<a href=Uplati na račun
<?php
}
?>
Uvid u stanje
Ovim servisom možete izvršiti uvid u stanje Vašeg računa.
<?php if (!$this->session->userdata('logged_client'))
{
?>
Uvid u stanje
<?php
}
else {
?>
Uvid u stanje
<?php
}
?>
Views/footer.php izgleda ovako:
<div id="copyright">
©2013. By Vladimir Radovanović
</div>
</body>
</html>
Views/restricted.php izgleda ovako:
<div id="three-column" class="container">
korak nazad
<?php echo validation_errors(); ?>
<?php echo form_open('Client/validation_uplata'); ?>
<?php foreach ($records as $rec): ?>
Uplata na račun:
<?php endforeach; ?>
<?php echo form_close(); ?>
</div>
</div>
<div id="three-column" class="container">
<a href=<?php echo base_url().'Client'; ?> class="button_logout_client">korak nazad</a>
</div>
</div>
Views/header_client_payment.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">Views/header_client_payout.php izgleda ovako:ebanking <?php $temp = $this->session->userdata('logged'); $users['username'] = $temp['username']; echo 'dobrodošli: '.$users['username'].''; ?>
Created by Vladimir RadovanovićUnesite podatke za pristup korisničkim podacima<?php echo validation_errors(); ?> <?php echo form_open('Home/validation_uplata'); ?><?php echo form_close(); ?>
Broj računa: Broj lične karte:
<html xmlns="http://www.w3.org/1999/xhtml">Views/header_payment_personal.php izgleda ovako:ebanking <?php $temp = $this->session->userdata('logged'); $users['username'] = $temp['username']; echo 'dobrodošli: '.$users['username'].''; ?>
Created by Vladimir RadovanovićUnesite podatke za pristup korisničkim podacima<?php echo validation_errors(); ?> <?php echo form_open('Home/validation_isplata'); ?><?php echo form_close(); ?>
Broj računa: Broj lične karte:
<html xmlns="http://www.w3.org/1999/xhtml">Views/header_client_history.php izgleda ovako:ebanking <?php $temp = $this->session->userdata('logged'); $users['username'] = $temp['username']; echo 'dobrodošli: '.$users['username'].''; ?>
Created by Vladimir RadovanovićUnesite podatke za pristup korisničkim podacima<?php echo validation_errors(); ?> <?php echo form_open('Home/validation_uplata_licni'); ?><?php echo form_close(); ?> </div> </div> </div>
Broj računa: Broj lične karte:
<html xmlns="http://www.w3.org/1999/xhtml">Views/clients_access.php izgleda ovako:ebanking <?php $temp = $this->session->userdata('logged'); $users['username'] = $temp['username']; echo 'dobrodošli: '.$users['username'].''; ?>
Created by Vladimir RadovanovićUnesite podatke za pristup korisničkim podacima<?php echo validation_errors(); ?> <?php echo form_open('Home/validation_istorija'); ?><?php echo form_close(); ?> </div> </div> </div>
Broj računa: Broj lične karte:
<html xmlns="http://www.w3.org/1999/xhtml">Views/contact.php izgleda ovako:ebanking <?php $temp = $this->session->userdata('logged'); $users['username'] = $temp['username']; echo 'dobrodošli: '.$users['username'].''; ?>
Created by Vladimir RadovanovićUnesite podatke za pristup korisničkim podacima<?php echo validation_errors(); ?> <?php echo form_open('Home/validation_access'); ?><?php echo form_close(); ?> </div> </div> </div>
Broj računa: Broj lične karte:
<div id="three-column" class="container">
korak nazad
<?php echo validation_errors(); ?>
<?php echo form_open('Home/validation_contact'); ?>
<?php echo form_close(); ?>
<div id="three-column-column" class="container">
Zovem se Vladimir Radovanović. Rođen sam u Kragujevcu 08.04.1984. godine.
Završio sam specijalističke strukovne studije na Visokoj Tehničkoj školi strukovnih studija u Kragujevcu i dobio zvanje "strukovni informatičar specijalista".
Na studijama nisam imao
puno prilike da kroz realne probleme učim programiranje tako da sam morao lično da pronađem najbolji način da se posvetim praksi. Web programiranjem se nikada nisam bavio
profesionalno, ali me je oduvek interesovalo tako da mi i učenje nije padalo teško.
Od tehnologija preferiram PHP i CodeIgniter kao framework. Zašto?
1. Laka instalacija i konfiguracija
2. Čista i elegantna MVC implementacija
3. Nudi i Active Record za upravljanje bazom podataka
4. Dobre performanse
5. Veliki broj biblioteka i helpera koje olakšavaju rad
6. Velika CI zajednica
7. Jednostavno mi pasuje
Od tehnologija za upravljanje sadržajem najviše sam koristio Joomla-u od 1.5 do 2.5 verzije. Jednostavno volim hijerarhijsku strukturu preko sekcija, kategorija do članaka, kojim Joomla
upravlja. Kao akrivan član na forum.joomla.org stekao sam mnogo znanja pri rešavanju konkretnih problema.
Ranije objavljeni projekti: hranaizdravlje.com, prostorinzenjering.com,
vladimir.radovanovic.com, kao i mnostvo ne objavljenih projekata.
Vladimir Radovanović
github.com/vlradovanovic
codexist.blogspot.com
</div>
</div>
Views/about_app.php izgleda ovako:
<div id="three-column-column" class="container">
Aplikacija "Ebanking" predstavlja simulaciju rada nekih najosnovnijih usluga u bankarstvu. I ovu aplikaciju pokreće CodeIgniter framework.
Kao i kod aplikacije "blog", za učitavanje strana
koristi se tzv. multiple view, kroz svaku f-ju controller-a.
Ova aplikacija koristi višedimenzionalne sesije što znači da admin, i jedino admin može
upravljati sadržajem.
Na osnovu unetog broja tekuceg racuna i broja licne karte moze se dalje
upravljati sadrzajem.
Parametri za pristup su: Username: vlada Password: admin
Od biblioteka koristi "database", "session", "form_validation", "email"...
Vladimir Radovanović
github.com/vlradovanovic
codexist.blogspot.com
</div>
</div>
Views/success.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">Controllers/Client.php izgleda ovako:ebanking Vaša poruka je uspešno poslata. Odgovoriću Vam u najkraćem mogućem roku.
</div> </div>
<?php
class Client extends CI_Controller
{
function __construct() {
parent::__construct();
$this->load->model('BankModel');
}
function index()
{
if ($this->session->userdata('logged'))
{
if ($this->session->userdata('logged_client'))
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getData($obj);
$other_records = $this->BankModel->getAccount($obj);
$this->load->view('header_logged_client', array ('records' => $records, 'other_records' => $other_records, 'obj' => $obj));
$this->load->view('content_client');
$this->load->view('footer');
}
else {
$this->load->view('restricted_client');
$this->load->view('footer');
}
}
else {
$this->load->view('restricted');
$this->load->view('footer');
}
}
function logout()
{
$this->session->unset_userdata('logged_client');
redirect('Home', 'refresh');
}
function uplata()
{
if ($this->session->userdata('logged'))
{
if ($this->session->userdata('logged_client'))
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getData($obj);
$other_records = $this->BankModel->getAccount($obj);
$this->load->view('header_logged_client', array ('records' => $records, 'other_records' => $other_records, 'obj' => $obj));
$this->load->view('payment', array('records' => $records, 'obj' => $obj));
$this->load->view('footer');
}
else {
$this->load->view('restricted_client');
$this->load->view('footer');
}
}
else {
$this->load->view('restricted');
$this->load->view('footer');
}
}
function validation_uplata()
{
$this->form_validation->set_rules('primalac', 'Primalac', 'trim|required|xss_clean');
$this->form_validation->set_rules('svrha_uplate', 'Svrha uplate', 'trim|required|xss_clean');
$this->form_validation->set_rules('racun_primaoca', 'Račun primaoca', 'trim|required|xss_clean');
$this->form_validation->set_rules('iznos', 'Iznos', 'trim|required|xss_clean|callback_check_uplata');
if ($this->form_validation->run())
{
redirect(site_url().'Client', 'refresh');
}
else {
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getData($obj);
$other_records = $this->BankModel->getAccount($obj);
$this->load->view('header_logged_client', array ('records' => $records, 'other_records' => $other_records, 'obj' => $obj));
$this->load->view('payment', array('records' => $records, 'obj' => $obj));
$this->load->view('footer');
}
}
function check_uplata()
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$iznos = $this->input->post('iznos');
$records = $this->BankModel->getData($obj);
$trenutno_stanje = $this->BankModel->getTrenutnoStanje($obj);
if ($trenutno_stanje <= '0')
{
$this->load->view('no_money');
$this->load->view('footer');
return FALSE;
}
elseif ($this->BankModel->uplati($records, $iznos))
{
$novo_stanje = $trenutno_stanje - $iznos;
if ($novo_stanje < '0')
{
$this->load->view('no_overdraft');
$this->load->view('footer');
return FALSE;
}
elseif ($this->BankModel->oduzmi_stanje($novo_stanje, $trenutno_stanje, $obj))
{
return TRUE;
}
else return FALSE;
}
else return FALSE;
}
function isplata()
{
if ($this->session->userdata('logged'))
{
if ($this->session->userdata('logged_client'))
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getData($obj);
$other_records = $this->BankModel->getAccount($obj);
$this->load->view('header_logged_client', array ('records' => $records, 'other_records' => $other_records, 'obj' => $obj));
$this->load->view('payout', array('records' => $records, 'obj' => $obj));
$this->load->view('footer');
}
else {
$this->load->view('restricted_client');
$this->load->view('footer');
}
}
else {
$this->load->view('restricted');
$this->load->view('footer');
}
}
function validation_isplata()
{
{
$this->form_validation->set_rules('primalac', 'Primalac', 'trim|required|xss_clean');
$this->form_validation->set_rules('svrha_isplate', 'Svrha isplate', 'trim|required|xss_clean');
$this->form_validation->set_rules('iznos', 'Iznos', 'trim|required|xss_clean|callback_check_isplata');
if ($this->form_validation->run())
{
redirect(site_url().'Client', 'refresh');
}
else {
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getData($obj);
$other_records = $this->BankModel->getAccount($obj);
$this->load->view('header_logged_client', array ('records' => $records, 'other_records' => $other_records, 'obj' => $obj));
$this->load->view('payout', array('records' => $records, 'obj' => $obj));
$this->load->view('footer');
}
}
}
function check_isplata()
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$iznos = $this->input->post('iznos');
$records = $this->BankModel->getData($obj);
$trenutno_stanje = $this->BankModel->getTrenutnoStanje($obj);
if ($trenutno_stanje <= '0')
{
$this->load->view('no_money');
$this->load->view('footer');
return FALSE;
}
elseif ($this->BankModel->isplati($records, $iznos))
{
$novo_stanje = $trenutno_stanje - $iznos;
if ($novo_stanje < '0')
{
$this->load->view('no_overdraft');
$this->load->view('footer');
return FALSE;
}
elseif ($this->BankModel->oduzmi_stanje($novo_stanje, $trenutno_stanje, $obj))
{
return TRUE;
}
else return FALSE;
}
else return FALSE;
}
function uplata_licni()
{
if ($this->session->userdata('logged'))
{
if ($this->session->userdata('logged_client'))
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getData($obj);
$other_records = $this->BankModel->getAccount($obj);
$this->load->view('header_logged_client', array ('records' => $records, 'other_records' => $other_records, 'obj' => $obj));
$this->load->view('payment_personal', array('records' => $records, 'obj' => $obj));
$this->load->view('footer');
}
else {
$this->load->view('restricted_client');
$this->load->view('footer');
}
}
else {
$this->load->view('restricted');
$this->load->view('footer');
}
}
function validation_uplata_licni()
{
{
$this->form_validation->set_rules('iznos', 'Iznos', 'trim|required|xss_clean|callback_check_uplata_licni');
if ($this->form_validation->run())
{
redirect(site_url().'Client', 'refresh');
}
else {
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getData($obj);
$other_records = $this->BankModel->getAccount($obj);
$this->load->view('header_logged_client', array ('records' => $records, 'other_records' => $other_records, 'obj' => $obj));
$this->load->view('payment_personal', array('records' => $records, 'obj' => $obj));
$this->load->view('footer');
}
}
}
function check_uplata_licni()
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$iznos = $this->input->post('iznos');
$records = $this->BankModel->getData($obj);
$trenutno_stanje = $this->BankModel->getTrenutnoStanje($obj);
if ($this->BankModel->uplati_licni($records, $iznos))
{
$novo_stanje = $trenutno_stanje + $iznos;
if ($this->BankModel->oduzmi_stanje($novo_stanje, $trenutno_stanje, $obj))
{
return TRUE;
}
else return FALSE;
}
else return FALSE;
}
function uvid()
{
if ($this->session->userdata('logged'))
{
if ($this->session->userdata('logged_client'))
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getData($obj);
$other_records = $this->BankModel->getAccount($obj);
$payment = $this->BankModel->getPayment($obj);
$payoff = $this->BankModel->getPayoff($obj);
$payment_personal = $this->BankModel->getPaymentPersonal($obj);
$this->load->view('header_logged_client', array ('records' => $records, 'other_records' => $other_records, 'obj' => $obj));
$this->load->view('access', array('records' => $records, 'payment' => $payment, 'payoff' => $payoff,
'payment_personal' => $payment_personal,'obj' => $obj));
$this->load->view('footer');
}
else {
$this->load->view('restricted_client');
$this->load->view('footer');
}
}
else {
$this->load->view('restricted');
$this->load->view('footer');
}
}
function edit_client()
{
if ($this->session->userdata('logged'))
{
if ($this->session->userdata('logged_client'))
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getBodyData();
$this->load->view('edit_client_data', array ('records' => $records, 'obj' => $obj));
$this->load->view('footer');
}
else {
$this->load->view('restricted_client');
$this->load->view('footer');
}
}
else {
$this->load->view('restricted');
$this->load->view('footer');
}
}
function edit_account()
{
if ($this->session->userdata('logged'))
{
if ($this->session->userdata('logged_client'))
{
$temp = $this->session->userdata('logged_client');
$obj['id'] = $temp['id'];
$records = $this->BankModel->getAccountData();
$this->load->view('edit_account_data', array ('records' => $records, 'obj' => $obj));
$this->load->view('footer');
}
else {
$this->load->view('restricted_client');
$this->load->view('footer');
}
}
else {
$this->load->view('restricted');
$this->load->view('footer');
}
}
function verify_edit_client()
{
$this->form_validation->set_rules('ime', 'Ime', 'trim|required|xss_clean');
$this->form_validation->set_rules('prezime', 'Prezime', 'trim|required|xss_clean');
$this->form_validation->set_rules('ulica', 'Ulica', 'trim|required|xss_clean');
$this->form_validation->set_rules('mesto', 'Mesto', 'trim|required|xss_clean');
$this->form_validation->set_rules('telefon', 'Telefon', 'trim|required|xss_clean');
if ($this->form_validation->run() == TRUE)
{
$id = $this->uri->segment(3);
$this->BankModel->edit_client($id);
redirect(site_url().'Client', 'refresh');
}
else echo 'error';
}
function verify_edit_account()
{
$this->form_validation->set_rules('broj_racuna', 'Broj računa', 'trim|required|xss_clean');
$this->form_validation->set_rules('vrsta', 'Vrsta', 'trim|required|xss_clean');
$this->form_validation->set_rules('banka', 'Banka', 'trim|required|xss_clean');
if ($this->form_validation->run() == TRUE)
{
$id = $this->uri->segment(3);
$this->BankModel->edit_account($id);
redirect(site_url().'Client', 'refresh');
}
else echo 'error';
}
}
?>
Views/header_logged_client.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">Views/content_client.php izgleda ovako:ebanking <?php $temp = $this->session->userdata('logged'); $users['username'] = $temp['username']; echo 'dobrodošli: '.$users['username'].''; ?>
Created by Vladimir Radovanovićodjava korisnika <?php foreach ($records as $rec): ?><?php endforeach; ?> <?php foreach ($other_records as $red): ?>
Podaci o klijentu: Ime: <?php echo $rec->ime; ?> Prezime: <?php echo $rec->prezime; ?> Ulica: <?php echo $rec->ulica; ?> mesto: <?php echo $rec->mesto; ?> telefon: <?php echo $rec->telefon; ?> izmena podataka <?php endforeach; ?>
Podaci o računima: Broj računa: <?php echo $red->broj_racuna; ?> Vrsta: <?php echo $red->vrsta; ?> Banka: <?php echo $red->banka; ?> Prethodno stanje: <?php echo number_format($red->prethodno_stanje, 2, ',', ' '); ?> Trenutno stanje: <?php echo number_format($red->trenutno_stanje, 2, ',', ' '); ?> izmena podataka
<div id="three-column" class="container">
uplata na račun
Ovaj servis omogućuje sve vidove uplata na račun poverioca. Mogu se izvršiti i oslali
vidovi plaćanja putem opšte uplatnice.
<?php if (!$this->session->userdata('logged_client'))
{
?>
class="button">Izvrši uplatu
<?php
}
else {
?>
class="button">Izvrši uplatu
<?php
}
?>
isplata gotovine
Ovaj servis omogućuje sve isplatu novca u gotovom. Neophodno je imati sredstva na računu za uspešnu za uspešnu realizaciju.
<?php if (!$this->session->userdata('logged_client'))
{
?>
class="button">Izvrši isplatu
<?php
}
else {
?>
class="button">Izvrši isplatu
<?php
}
?>
Uplata na sopstven račun
Ovim servisom možete izvršiti uplate na sopstven račun.
<?php if (!$this->session->userdata('logged_client'))
{
?>
Uplati na račun
<?php
}
else {
?>
Uplati na račun
<?php
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">Views/payment.php izgleda ovako:ebanking unesite ispravne podatke korisnika da bi ste pristupili ovoj stranici
<div id="three-column" class="container">
korak nazad
<?php echo validation_errors(); ?>
<?php echo form_open('Client/validation_isplata'); ?>
<?php foreach ($records as $rec): ?>
Isplata gotovine:
Isplatilac: <?php echo $rec->ime.' '.$rec->prezime; ?>
Primalac:
Svrha isplate:
Račun isplatioca: <?php echo $rec->brracuna; ?>
<?php endforeach; ?>
Iznos:
Poziv na broj (zaduženje):
Komentar:
<?php echo form_close(); ?>
</div>
</div>
<div id="three-column" class="container">
<a href=<?php echo base_url().'Client'; ?> class="button_logout_client">korak nazad</a>
</div>
</div>
Views/no_money.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">Views/no_overdraft.php izgleda ovako:ebanking Nemate dovoljno sredstava na računu. Pokušajte sa manjim iznosom.
<html xmlns="http://www.w3.org/1999/xhtml">Views/payout.php izgleda ovako:ebanking Uneti iznos uplate je veći od raspoloživih sredstava na Vašem računu. Pokušajte sa manjim iznosom.
<div id="three-column" class="container">
korak nazad
<?php echo validation_errors(); ?>
<?php echo form_open('Client/validation_isplata'); ?>
<?php foreach ($records as $rec): ?>
Isplata gotovine:
Isplatilac: <?php echo $rec->ime.' '.$rec->prezime; ?>
Primalac:
Svrha isplate:
Račun isplatioca: brracuna; ?>
<?php endforeach; ?>
Iznos:
Poziv na broj (zaduženje):
Komentar:
<?php echo form_close(); ?>
<div id="three-column" class="container">
<a href=<?php echo base_url().'Client'; ?> class="button_logout_client">korak nazad</a>
Views/payment_personal.php izgleda ovako:
<div id="three-column" class="container">
korak nazad
<?php echo validation_errors(); ?>
<?php echo form_open('Client/validation_uplata_licni'); ?>
<?php foreach ($records as $rec): ?>
Uplata na sopstven račun:
Uplatilac: <?php echo $rec->ime.' '.$rec->prezime; ?>
Račun uplatioca: <?php echo $rec->brracuna; ?>
<?php endforeach; ?>
Iznos:
Komentar:
<?php echo form_close(); ?>
Views/access.php izgleda ovako:
<div id="three-column" class="container">
korak nazad
Broj računa:
<?php foreach ($other_records as $row) {
echo ' '.$row->broj_racuna. '';
} ?>
Korisnik:
<?php foreach ($records as $row) {
echo ' '.$row->ime.' '.$row->prezime. '';
} &?gt;
UPLATE KORISNIKA:
<<php foreach ($payment as $pay):
?>
<?php endforeach; ?>
| Datum i vreme uplate | Iznos | Primalac | Račun primaoca | Svrha uplate |
|---|---|---|---|---|
| <?php echo date("d.m.Y - H:i:s", strtotime($pay->datum)); ?> | <?php echo $pay->iznos; ?> | <?php echo $pay->primalac; ?> | <?php echo $pay->racun_primaoca; ?gt; | <?php echo $pay->svrha; &?gt; |
| Datum i vreme isplate | Iznos | Isplatilac | Primalac | Svrha isplate |
|---|---|---|---|---|
| <?php echo date("d.m.Y H:i:s", strtotime($pad->datum)); ?> | <?php echo $pad->iznos; ?> | <?php echo $pad->isplatilac; ?> | <?php echo $pad->primalac; ?> | <?php echo $pad->svrha; ?> |
| Datum i vreme uplate | Iznos |
|---|---|
| <?php echo date("d.m.Y H:i:s", strtotime($psv->datum)); ?> | <?php echo $psv->iznos; ?> |
Broj računa:
<?php foreach ($other_records as $row) {
echo ' '.$row->broj_racuna. '';
} ?>
Korisnik: <?php foreach ($records as $row) { echo ' '.$row->ime.' '.$row->prezime. ''; } ?>
Korisnik: <?php foreach ($records as $row) { echo ' '.$row->ime.' '.$row->prezime. ''; } ?>
Views/no_overdraft.php izgleda ovako: