Skip to content

Start Project Ci 3

Upload file

Buka file config → autoload.php:
starterCi3.png
Tambahkan $autoload['helper'] = array('url', 'file');
Nb: url untuk load base_url( ), dan file untuk load form_open_multipart
untuk bisa Upload file, maka pada form_open tambahkan multipart: form_open_multipart
in View :
<?= form_open_multipart(base_url('upload/do_upload'));?>
<input type="file" name="userfile" size="20" />
<br /><br />
<input type="submit" value="upload" />
</form>
---------------------------------------------------------------------------------------
in controller :
<?php

class Upload extends CI_Controller {

function index() {
$this->load->view('upload/form_upload');
}


function do_upload() {
// ------------------------------------
// configurasi dulu kemudian di load
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
// $config['max_size'] = '100';
// $config['max_width'] = '1024';
// $config['max_height'] = '768';
// ------------------------------------
// load library upload
$this->load->library('upload', $config);
// ------------------------------------
// script di bawah ini memanggil function di library
$this->upload->do_upload();
$data = $this->upload->data();
$dtUpload = [
'nm_file' => $data['file_name'],
'size' => $data['file_size'],
];
// ------------------------------------
// kemudian simpan (insert)
$this->db->insert('download', $dtUpload);
}
}

About Auth / Login

kemudian Buka file config → autoload.php:
starterCi11.png
Tambahkan $autoload['libraries'] = array('database', 'session');
Buat Database yang berkaitan dengan username & Password (Auth)
Buat Models ex: operator_m.php
in Model :
<?php

class Operator_m extends CI_Model {

function get_allOperator($uname, $pass) {
$findUser = $this->db->get_where('operator', ['username'=> $uname, 'password'=> md5($pass)]);

if($findUser->num_rows() > 0) {
return 1;
}
else {
return 0;
}
}
}
Buat Controller Auth.php →
in Controller :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Auth extends CI_Controller {

function __construct() {
parent:: __construct();
// ------------------------------------
// panggil nama model
$this->load->model('Operator_m');
// ------------------------------------
}

public function index()
{
if (isset($_POST['submit'])) {

$u = $this->input->post('username');
$p = $this->input->post('password');
// ------------------------------------
// panggil Function
$up = $this->Operator_m->get_allOperator($u, $p);
// ------------------------------------
// $up == 1 ? print "Selamat data anda titemukan" : print "Not found";
if($up == 1){
// ------------------------------------
// ini buat atur session set_userdata()
$this->session->set_userdata(['status_login' => 'oke']);
// ini atur feedback flashdata buat user set_flashdata()
$this->session->set_flashdata('login', '<h4> Sugeng Rawuh </h4>');
redirect('dashboard');
}
else {
$this->session->set_flashdata('denied', '<h4> Ora ketemu </h4>');

redirect('auth');
}
}
else {

$this->load->view('form/login');
}
}


public function logout()
{
$this->session->unset_userdata('status_login');
$this->session->set_flashdata('logout', '<h4> selamat anda logout </h4>');
redirect('auth');

}
}
buat view form Login & dashboard
View in Login :

<?=
form_open('auth')
?>
// ------------------------------------
// ini buat nangkap flashdata dari feedback controller
<?php $this->session->flashdata('denied') ? print $this->session->flashdata('denied') : "" ?>
<?php $this->session->flashdata('logout') ? print $this->session->flashdata('logout') : "" ?>
<input type="text" name="username">
<input type="password" name="password">

<button type="submit" name="submit">Login</button>

</form>
---------------------------------------------------------------------------------------
view in Dashboard
<?php $this->session->flashdata('login') ? print $this->session->flashdata('login') : ""; ?>

<div style="display: flex;">
<h1>ini Tampilan Dashboard</h1>
<a style="float: right;" href="<?= base_url('index.php/auth/logout') ?>">Logout</a>
</div>

Add Data / Insert

Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.