Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

User Membership dengan PHP

by
Difficulty:IntermediateLength:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Sandi Muamar (you can also view the original English article)

Sebuah tutorial untuk sangat pemula! Mana pun Anda pergi di Internet, ada pokok yang Anda menemukan hampir di mana-mana - registrasi user. Apakah Anda membutuhkan user untuk mendaftar untuk keamanan atau hanya untuk fitur tambahan, ada alasan untuk tidak melakukannya dengan tutorial sederhana ini. Dalam tutorial ini kita akan pergi ke basic user management, berakhir dengan simpel member area yang dapat diterapkan di situs web Anda sendiri.

Pengenalan

Dalam tutorial ini kita akan pergi melalui setiap langkah untuk membuat user management system, bersama dengan inter-user private message system. Kita akan melakukannya menggunakan PHP, dengan MySQL database untuk menyimpan semua informasi user. Tutorial ini ditujukan pada sangat pemula untuk PHP, jadi tidak pengetahuan sekali diperlukan - pada kenyataannya, Anda mungkin mendapatkan sedikit bosan jika Anda adalah programmer PHP berpengalaman!

Tutorial ini ditujukan sebagai pengenalan dasar untuk Session, dan untuk menggunakan database di PHP. Walaupun hasil akhir dari tutorial ini mungkin tidak segera tampak berguna bagi Anda, keterampilan yang Anda peroleh dari tutorial ini akan memungkinkan Anda untuk pergi ke menghasilkan suatu sistem keanggotaan Anda sendiri; Setelan kebutuhan Anda sendiri.

Sebelum Anda mulai tutorial ini, pastikan Anda memiliki di tangan informasi berikut:

  • Database hostname - ini adalah server yang di-host database Anda di, dalam kebanyakan situasi ini hanya akan menjadi 'localhost'.
  • Database name, Database Username, Database Password - sebelum memulai tutorial ini, Anda harus membuat MySQL database jika Anda memiliki kemampuan, atau memiliki sisi informasi untuk menghubungkan ke database yang sudah ada. Informasi ini dibutuhkan seluruh tutorial.

Jika Anda tidak memiliki informasi ini kemudian penyedia hosting Anda harus mampu menyediakan ini untuk Anda.

Sekarang bahwa kita memiliki formalitas keluar dari jalan, mari kita mulai tutorialnya!

Langkah 1 - konfigurasi awal

Setting database

Seperti yang dinyatakan dalam pengenalan, Anda perlu database terus melewati titik ini dalam tutorial. Untuk mulai kami akan membuat sebuah tabel dalam database ini untuk menyimpan informasi user kami.

Tabel yang kita butuhkan akan menyimpan informasi user; untuk tujuan kita, kita akan menggunakan sebuah tabel yang sederhana, tapi itu akan mudah untuk menyimpan informasi lebih lanjut di kolom extra jika itu adalah apa yang Anda butuhkan. Sistem kami memerlukan empat kolom berikut:

  • UserID (Primary Key)
  • Username
  • Password
  • EmailAddress

Dalam istilah database, Primary Key adalah bidang yang secara unik mengidentifikasi row. Dalam kasus ini, UserID akan menjadi primary key kita. Seperti yang kita inginkan untuk increment setiap kali user mendaftar, kita akan menggunakan opsi MySQL khusus - auto_increment.

Query SQL untuk membuat tabel kami termasuk di bawah, dan akan biasanya dijalankan di tab 'SQL' phpMyAdmin.

Membuat Base File

Untuk menyederhanakan pembuatan proyek kami, kami akan membuat file basis yang disertakan dalam setiap file yang kita buat. File ini akan berisi informasi koneksi database, bersama dengan variabel-variabel konfigurasi tertentu yang akan membantu kita nanti.

Mulailah dengan membuat file baru: base.php, dan masukkan di dalamnya kode berikut:

Mari kita lihat beberapa baris tersebut akan kita? Ada beberapa fungsi-fungsi yang digunakan tapi belum dijelaskan, jadi mari kita melihat melalui mereka dengan cepat dan kita jelaskan -- jika Anda sudah mengerti dasar-dasar PHP, Anda mungkin ingin untuk melewati penjelasan ini.

Fungsi ini mulai session untuk user baru, dan kemudian dalam tutorial ini kami akan menyimpan informasi dalam session ini untuk memungkinkan kita untuk mengenali user yang sudah log in. Jika session telah dibuat, fungsi ini akan mengenali dan membawa session ke halaman berikutnya.

Masing-masing fungsi ini melakukan tersendiri yang terkait tugas. Fungsi mysql_connect menghubungkan script kami database server menggunakan informasi yang kami berikan itu di atas, dan fungsi mysql_select_db kemudian memilih database yang digunakan dengan script. Jika salah satu fungsi gagal untuk diselesaikan, fungsi die otomatis akan llangsung menghentikan skrip dari pengolahan - memberi setiap user dengan pesan bahwa ada kesalahan MySQL.

Langkah 2 - kembali ke Frontend

Apa kita perlu lakukan pertama kali?

Item yang paling penting di halaman kami adalah baris pertama dari PHP; baris ini akan menyertakan file yang kami buat di atas (base.php), dan pada dasarnya akan memungkinkan kita untuk mengakses apa pun dari file dalam file kami saat ini. Kita akan melakukannya dengan baris berikut kode PHP. Membuat sebuah file bernama index.php, dan menempatkan kode ini di bagian atas.

Mulai halaman HTML

Hal pertama yang kita akan lakukan untuk frontend kami adalah untuk membuat sebuah halaman di mana user dapat memasukkan rincian login, atau jika mereka sudah dicatat di halaman mana mereka dapat memilih apa yang mereka kemudian ingin lakukan. Dalam tutorial ini saya saya menganggap bahwa user memiliki pengetahuan dasar tentang bagaimana HTML/CSS bekerja, dan karena itu tidak akan menjelaskan kode ini secara rinci; saat unsur-unsur ini akan un-styled, tapi kami akan dapat mengubah ini nanti ketika kita membuat CSS stylesheet.

Menggunakan file yang baru saja dibuat (index.php), Masukkan kode HTML berikut di bawah garis php yang sudah kita buat.

Apa akan kami menunjukkan ke mereka?

Sebelum kita keluaran sisa halaman kita memiliki beberapa pertanyaan untuk bertanya kepada diri sendiri:

  1. User sudah masuk?
  • Ya - kita perlu menunjukkan kepada mereka sebuah halaman dengan pilihan bagi mereka untuk memilih.
  • Tidak - kita lanjutkan ke pertanyaan berikutnya.
  • Apakah user sudah submit login detail mereka?
    • Ya - kita perlu memeriksa rincian, dan jika benar kita akan log mereka ke situs.
    • Tidak - kita lanjutkan ke pertanyaan berikutnya.
  • Jika kedua hal di atas adalah menjawab tidak, kita sekarang dapat mengasumsikan bahwa kita perlu untuk menampilkan login form ke user.
  • Pertanyaan-pertanyaan ini pada kenyataannya, adalah pertanyaan yang sama bahwa kita laksanakan ke dalam kode PHP kami. Kita akan melakukannya dalam form if statement. Tanpa memasukkan sesuatu ke dalam salah satu file baru, mari kita melihat logika yang kita akan menggunakan pertama.

    Tampak membingungkan, bukan? Mari kita membagi turun menjadi bagian-bagian yang lebih kecil dan pergi ke mereka satu per satu waktu.

    Ketika seorang iser log ke website kami, kami akan menyimpan informasi mereka dalam session - pada setiap titik setelah ini kita dapat mengakses informasi dalam special global PHP array - $_SESSION. Kami menggunakan fungsi empty untuk memeriksa apakah variabel kosong, dengan operator ! di depannya. Oleh karena itu kami mengatakan:

    Jika variabel $_SESSION ['LoggedIn'] tidak kosong dan $_SESSION ['Username'] bukanlah kosong, mengeksekusi ini potongan kode.

    Baris berikutnya bekerja dalam cara yang sama, hanya saja kali ini menggunakan $_POST global array. Array ini berisi data yang dikirim dari form login yang kita akan buat kemudian dalam tutorial ini. Baris terakhir hanya akan mengeksekusi jika tidak pernyataan sebelumnya terpenuhi; dalam hal ini kita akan menampilkan kepada user login form.

    Jadi, sekarang bahwa kita memahami logika, mari kita mendapatkan beberapa konten di antara bagian-bagian. Dalam index.php file, masukkan berikut di bawah ini apa yang telah Anda miliki.

    Mudah-mudahan, blok kode pertama dan terakhir tidak akan membingungkan Anda terlalu banyak. Apa yang kita benar-benar perlu terjebak ke sekarang adalah apa yang Anda sudah semua datang untuk tutorial ini untuk - kode PHP. Kita sekarang akan melalui kedua bagian satu baris pada satu waktu, dan saya akan menjelaskan apa yang setiap  kode berikut ditujukan untuk apa.

    Ada dua fungsi yang perlu menjelaskan untuk ini. Pertama, mysql_real_escape_string - fungsi sangat berguna untuk membersihkan database input. Itu bukan ukuran diperhitungkan, tapi ini akan menjaga keluar mayoritas para hacker jahat luar sana oleh yang tidak diinginkan bagian apa pun yang telah dimasukkan ke dalam login form. Kedua, md5. Itu tidak mungkin untuk pergi ke detail di sini, tapi fungsi ini hanya mengenkripsi apa pun yang di passing - dalam hal ini user password - untuk mencegah mencongkel mata dari membaca.

    Di sini kita memiliki inti dari kode login kami; pertama, kami menjalankan query database kami. Dalam query ini kami sedang mencari untuk segala sesuatu yang berkaitan dengan member, username dan password yang sesuai value dari $username dan $password yang user disediakan. Di baris berikutnya kami memiliki if statement, di mana kami memeriksa seberapa banyak hasil yang kita telah menerima - jika tidak ada hasil apapun, Bagian ini tidak akan diproses. Tetapi jika ada Akibatnya, kita tahu bahwa user yang ada, dan jadi kita akan masuk mereka.

    Dua baris selenjutnya adalah untuk mendapatkan alamat email user. Kita sudah memiliki informasi ini dari query yang kita sudah menjalankan, jadi kita dengan mudah dapat mengakses informasi ini. Pertama, kita mendapatkan array data yang telah diambil dari database - dalam hal ini kami menggunakan PHP fungsi mysql_fetch_array. Saya telah ditugaskan nilai dari EmailAddress field ke variabel untuk kita gunakan kemudian.

    Sekarang kita mengatur session. Kami menyimpan user username dan alamat email di session, bersama dengan nilai khusus bagi kita untuk tahu bahwa mereka telah dicatat dalam form ini. Setelah ini semua dikatakan dan dilakukan, kemudian akan redirect ke Member Area menggunakan META REFRESH dalam kode.

    Jadi, apa proyek kami saat ini terlihat sepeti apa untuk user?

    Hebat! Saatnya untuk bergerak sekarang, untuk memastikan bahwa orang dapat benar-benar mendapatkan ke situs Anda.

    Biarkan orang mendaftar

    Hal ini semua baik dan bagus karena login form di situs Anda, tetapi sekarang kita perlu membiarkan user dapat menggunakan itu - kita perlu untuk membuat login form. Membuat sebuah file bernama register.php dan masukkan kode berikut ke dalamnya.

    Jadi, tidak ada banyak PHP baru yang kita belum pelajari di bagian tersebut. Mari kita hanya quick look melihat query SQL itu meskipun, dan jika kita dapat mengetahui apa yang dilakukannya.

    Jadi, di sini kami menambahkan user ke database kami. Saat ini, bukannya mengambil data kami sedang memasukkan Jadi kami Anda menentukan pertama kolom apa kita memasukkan data ke dalam (jangan lupa, UserID akan naik secara otomatis). Di daerah VALUES(), kita mengatakan itu apa yang harus dimasukkan di setiap kolom; dalam hal ini kami variabel yang berasal dari input user. Jadi, mari kita mencobanya; Setelah Anda membuat account Anda pada form pendaftaran baru, di sini adalah apa yang Anda akan melihat untuk Member Area.

    Pastikan bahwa mereka bisa Logout

    Kita berada hampir di akhir bagian ini, tapi ada satu hal lagi yang kita butuhkan sebelum kita selesai di sini - cara bagi user untuk logout dari account mereka. Ini sangat mudah untuk dilakukan (Untungnya bagi kita); Buat baru filed bernama logout.php dan masukkan yang berikut ke dalamnya.

    Dalam hal ini kita pertama ulang kami global $_SESSION array, dan kemudian kita sedang destroy session sepenuhnya.

    Dan itulah akhir bagian itu, dan akhir kode PHP. Mari kita sekarang pindah ke bagian akhir kami.

    Langkah 3 - Kita Styling

    Aku tidak akan menjelaskan banyak dalam bagian ini - jika Anda tidak memahami HTML/CSS saya akan sangat menyarankan ketika dari banyak sangat baik tutorial di situs ini untuk Anda mulai. Buat sebuah file baru yang bernama style.css dan masukkan yang berikut ke dalamnya; ini akan styling semua halaman yang kami buat sejauh ini.

    Sekarang mari kita lihat beberapa screenshot dari apa yang kami proyek akhir akan terlihat seperti:

    Login form.

    Member area.

    Form pendaftaran.

    Dan akhirnya...

    Dan hanya itu! Anda sekarang memiliki member area yang dapat Anda gunakan di situs Anda. Aku dapat melihat banyak orang menggelengkan kepala dan berteriak pada monitor mereka bahwa itu adalah tidak berguna untuk mereka - Anda benar. Tapi apa yang aku berharap setiap pemula untuk PHP telah belajar dasar-dasar bagaimana menggunakan database, dan bagaimana menggunakan session untuk menyimpan informasi. Keterampilan yang penting untuk membuat aplikasi web.

    • Berlangganan ke NETTUTS RSS Feed untuk daily web development tuts dan artikel.


    Advertisement
    Advertisement
    Advertisement
    Looking for something to help kick start your next project?
    Envato Market has a range of items for sale to help get you started.