понедељак, 23. септембар 2013.

Ebanking system

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.
-- 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









<?php echo validation_errors(); ?> <?php echo form_open('LoginController/provera'); ?>
Korisničko ime:
Lozinka:
<?php echo form_close(); ?>
</body> </html>

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">


ebanking







    
        
        
Views/menu.php izgleda ovako:
<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 } ?>

Istorija transakcija

Ovim servisom možete videti kompletnu istoriju transakcija sa Vašeg računa.
<?php if (!$this->session->userdata('logged_client')) { ?> Istorija <?php } else { ?> Istorija <?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">


ebanking







    
        
        
Views/header_client_payout.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">


ebanking







    
        
        
Views/header_payment_personal.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">


ebanking







    
        
        
Views/header_client_history.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">


ebanking







    
        
        
Views/clients_access.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">


ebanking







    
        
        
Views/contact.php izgleda ovako:
<div id="three-column" class="container">
    
      korak nazad  
      
 
 
      <?php echo validation_errors(); ?>
                 
<?php echo form_open('Home/validation_contact'); ?>


<?php echo form_close(); ?>
Views/about_me.php izgleda ovako:
<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">


ebanking







    
        
        
Controllers/Client.php izgleda ovako:
<?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">


ebanking








    
        
        
Views/content_client.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')) { ?> 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 } ?>
Views/restricted_client.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">


ebanking







    
        
        
Views/payment.php izgleda ovako:
<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:




<?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/no_money.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">


ebanking







    
        
        
Views/no_overdraft.php izgleda ovako:
<html xmlns="http://www.w3.org/1999/xhtml">


ebanking







    
        
        
Views/payout.php izgleda ovako:
<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:




<?php endforeach; ?>


<?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:


<?php endforeach; ?>

<?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;
ISPLATE KORISNIKA:
<?php foreach ($payoff as $pad): ?> <?php endforeach; ?>
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; ?>
UPLATE NA LIČNI RAČUN:
<?php foreach ($payment_personal as $psv): ?> <?php endforeach; ?>
Datum i vreme uplate Iznos
<?php echo date("d.m.Y H:i:s", strtotime($psv->datum)); ?> <?php echo $psv->iznos; ?>
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. ''; } ?>

Views/no_overdraft.php izgleda ovako:

Нема коментара:

Постави коментар