We are Just Computer Freaker
 
IndeksPencarianPendaftaranLogin
Login
Username:
Password:
Login otomatis: 
:: Lupa password?

Share | 
 

 Membuat File Hosting dengan Codelgniter

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
Qrembiezs
Security Team
Security Team


Jumlah posting : 93
Join date : 05.04.11
Lokasi : %windir%regedit.exe

PostSubyek: Membuat File Hosting dengan Codelgniter   Mon 1 Oct 2012 - 22:17

aq dah liat beberapa tutor pengantar utk Codeigniter, n berharap utk menunjukkan sesuatu yg sedikit lebih maju. Tutorial ini akan menunjukkan bagaimana utk membangun aplikasi web yg kuat untuk hosting gambar, menggunakan fleksibilitas Codeigniter. Tutorial ini akan mengajarkan tentang filosofi coding MVC

Step 1
1. Buat database baru "uploader"
2 .Buat 2 tables "Users" dan "Files"
3. Buat users sbg primary-key, auto-numbered ‘id’ column dan varchar columns: "Password" dan "Username"
4. Files table membutuhkan ‘id’ column dng type integer


[You must be registered and logged in to see this image.]

[You must be registered and logged in to see this image.]

Step 2
1. Buka login.php dan buat function "register" (Ini akan mengontrol smua proses registrasi)
2. Pertama qta harus check POST requests yg sudah dikirim ke server
3. Qta bisa melakukan smua ini dengan whether $_POST['username']
ini utk membuat apabila ada seseorang melakukan registrasi maka akan masuk ke db qta

Code:
    function register() 
    { 
        if(isset($_POST['username'])){ 
            // User has tried registering, insert them into database. 
            $username = $_POST['username']; 
            $password = $_POST['password']; 
            $this->users->register($username, $password); 
            redirect('login'); 
        } 
        else{ 
            //User has not tried registering, bring up registration information. 
            $this->load->view('register'); 
        } 
    } 

apabila user tdk melakukan registrasi maka scr automatis akan diarahkan ke form registrasi

Code:
    $this->users->register($username,$password); 

ini disebut function ‘register’ dng mode users, utk sementara ini tdk akan berkerja selama qta tdk membuka mode users, tp semua itu masih bisa diakali dengan class

Code:
    function Login() 
    { 
        parent::Controller(); 
        $this->load->model('users'); 
    } 

sekarang buat fucntion di users.pbp

Code:
    function register($username, $password) 
    { 
        $new_user = array ( 
            'username'=>$username, 
            'password'=>$password 
        ); 
        $this->db->insert('users', $new_user); 
        return true; 
    } 

Satu-satunya hal perlu dicatat dalam tampilan pendaftaran adalah SITE_URL () dan base_url () fungsi, Ini masing-masing memberikan URL situs tanpa index.php di akhiran

Keuntungan terbesar bagi adalah bahwa qta dpt mengubah struktur URL situs tanpa harus melalui semua link, qta cukup hanya membutuhkan satu perubahan dalam file konfigurasi ... kerenkan :bball:

Fungsi dalam controller qta harus mengarahkan ke halaman login lagi

Step 3
Disini qta akn menggunakan sesi kelas Codeigniter meskipun dengan memakai cookies tapi akan bekerja dalam cara yang sangat mirip dengan sesi normal PHP

Buat sebuah function login button yg dimana function ini akan mengkoleksi smua informasi dalam form dan mengarahkan ke DB .. apabila data sama dengan db maka akan diteruskan ke area member apabila data tdk sama maka akan diarahkan ke regstration page

Code:
    function go() 
    { 
        $username = $_POST['username']; 
        $password = $_POST['password']; 
        //Returns userid if successful, false if unsuccessful 
        $results = $this->users->login($username,$password); 
        if ($results==false) redirect('login'); 
        else 
        { 
            $this->session->set_userdata(array('userid'=>$results)); 
            redirect('profile'); 
        } 
    } 

Code:
    function login($username, $password) 
    { 
        $query = $this->db->get_where('users', array('username'=>$username, 'password'=>$password)); 
        if ($query->num_rows()==0) return false; 
        else{ 
            $result = $query->result(); 
            $first_row = $result[0]; 
            $userid = $first_row->id; 
            return $userid; 
        } 
    } 

query database mencari setiap pengguna dengan tepat username dan password yang sama.Jika tidak menemukan apapun, maka jumlah baris akan 0 dan function menjadi false

Jika data ditemukan maka fungsi aktif Codeigniter rekor untuk memuatnya sebagai obyek. Ini datang sebagai array baris DB, masing2 berisi sebuah objek dengan informasi baris. Karena qta ingin baris pertama dan satu2nya, membawanya keluar dari $ hasil, dan kemudian mengembalikan id dari itu.

qta perlu memeriksa apakah pengguna login sementara pada halaman profil melakuakan ini, qta hanya memasukkan dua baris kode ke dalam constructor dari profile controller, ni akan memeriksa bahwa sesi berisi userid a. Jika tidak, maka redirect ke halaman login Jika tidak, maka semuanya baik2 aja, dan itu akan berubah menjadi public variable

qta akan memuat dua model yang akan kita butuhkan untuk halaman profil:

Code:
    function Profile() 
    { 
        parent::Controller(); 
        $this->load->model('users'); 
        $this->load->model('files'); 
        $this->userid = $this->session->userdata('userid'); 
        if (!isset($this->userid) or $this->userid=='') redirect('login'); 
    } 

Hal terakhir yang perlu kita lakukan adalah memungkinkan untuk logout. Hal ini dicapai dengan hanya menetapkan userid

Code:
    function logout() 
    { 
        $this->session->set_userdata(array('userid'=>'')); 
        redirect('login'); 
    } 

Step 4

[You must be registered and logged in to see this image.]

pertama qta harus merubah file permisinya menjadi 777

[You must be registered and logged in to see this image.]

Sekarang buat file.php ... disini utk memisahkan user table dan file tablenya

Code:
    function get($userid) 
    { 
        $query = $this->db->get_where('files', array('owner'=>$userid)); 
        return $query->result(); 
    } 

Pada dasarnya, itu akan semua baris di mana pemilik = id pengguna, dan mengembalikan mereka dalam array

sekarang buat antar muka dengan profil controll, Mengubah fungsi indeks dengan ini

Code:
    function index() 
    { 
        $data['files'] = $this->files->get($this->userid); 
        $this->load->view('profile', $data); 
    } 

Ini kemudian akan secara otomatis explode the array dengan banyak variable, jadi ketika qta pergi ke tampilan? ini akan dpt mengakses db melalui hasil $ file, bukan $ data ['file']

letakkan ini di profile.php

Code:
    <?php foreach($files as $file): ?> 
    <div class="section"> 
        <span><?=$file->name?></span> 
        <div style="float: right;"> 
            <span><a href="<?=base_url()?>files/<?=$file->name?>">View</a></span> 
            <span><a href="<?=site_url("profile/delete/".$file->id)?>">Delete</a></span> 
        </div> 
    </div> 
    <?php endforeach; ?> 

Loop foreach beban setiap baris dari array pada gilirannya dan membuatnya dapat diakses melalui file objek $, menggunakan sampel "bagian" sebagai template, isi semua link dan nama dengan informasi untuk objek $ file baru. bagaimana fungsi hapus bekerja kemudian, dan bagaimana melihat link bekerja setelah kita upload sesuatu.

Jika qta buka ini di browser sekarang, qta tdk akan melihat apapun, ini krn qta blm punya file upload. qta perlu untuk memperbaiki itu jadi qta harus membuat form upload

Mari qta lakukan controller pertama, terbuka 'profile.php' dan menambahkan fungsi ini:

Code:
    function upload() 
    { 
        if(isset($_FILES['file'])){ 
            $file  = read_file($_FILES['file']['tmp_name']); 
            $name  = basename($_FILES['file']['name']); 
            write_file('files/'.$name, $file); 
            $this->files->add($name); 
            redirect('profile'); 
        } 
        else $this->load->view('upload'); 
    } 
Kembali Ke Atas Go down
Boombay
New Member
New Member


Jumlah posting : 4
Join date : 03.10.12

PostSubyek: Re: Membuat File Hosting dengan Codelgniter   Wed 3 Oct 2012 - 23:06

iki ngunu opo to
Kembali Ke Atas Go down
 
Membuat File Hosting dengan Codelgniter
Topik sebelumnya Topik selanjutnya Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» [Blender] How to Cellshading
» Resistor untuk mengakali kelistrikan
» Cara MenDesign Gear Dengan PhotoShop
» MEMBUAT GAME ASAH OTAK MEMAKAI POWER POINT
» bercanda dengan LOGIKA

Permissions in this forum:Anda tidak dapat menjawab topik
Cry Ant Crew :: Information Technology :: Programming :: PHP-
Navigasi: