Form register php


Login dan register adalah fitur yang banyak dibutuhkan dalam pengembangan aplikamê mệt web.

Bạn đang xem: Form register php

Biasanya saat membuat halaman admin. Kita pasti akan membuat login dan register.

Lalu bagaimamãng cầu cara membuatnya?

Tulisan ini akan menjawabnya…

Sebelum itu, saya ingin menyampaikan apage authority saja yang akan dibahas di sini.

Tutorial ini menggunakan PHP Native sầu dan PDO sebasợi konekđắm đuối ke database;Tutorial ini menggunakan Framework Bootstrap 4 untuk tampilan;Tutorial ini hanya akan fokus membahas fitur login dan register saja, untuk class-class bootstrap saya tidak akan jelaskan. Saya anggap, pembaca sudah pasi dengan Bootstrap.

Php Login Register

Baiklah, mari kita mulai…


Persiapan Alat dan Bahan

Berikut ini alat-alat yang dibutuhkan:

Teks Editor: VS Code (pakai yang lain juga boleh);Web Browser: Google Chrome, Opera, Firefox, dll;Server: PHP (veryêu thích 5.6 ke atas), Apache2/Nginx, dan MySquốc lộ.

Sementara untuk bahan-bahannya silahkan sediakan:

Bootstrap 4;Beberapage authority gambar.

Silahkan download di sini semua bahannya: bahan-bahan.zip

Download Bahan-bahan

Alat dan bahan sudah siap.

Mari kita mulai memasak coding… ????

Membuat Project Baru

Buatlah sebuah direktori baru bernama php-login-register di htdocs buat yang menggunakan XAMPP. Sedangkan yang menggunakan server apache2 dan nginx, silahkan buat di /var/www/html.

Ikuti perintah berikut:


subởi chthủ thuật 777 /var/www/html -R # berikan hak akses dulu mkdir /var/www/html/php-login-register # buat direktori baru cd /var/www/html/php-login-register # pindah ke direktori baru



# membuat file kosong touch index.php login.php register.php logout.php timeline.php auth.php config.php


Sehingga kita memiliki struktur direktori seperti ini:

Struktur direktori project php

Setelah itu, silahkan ekstrak dan copy secài đặt bahan yang di-tải về tadi ke sana.

Ekstrak Bahan-bahan

Beres…

Sethiết lập bahan-bahan sudah siap.

Menyiapkan Database

Sebelum kita mulai menulis kode, siapkan dulu database-nya.

Silahkan buka phpmyadmin http://localhost/phpmyadmin/ dan buat database baru bernama pesbuk.

Baca juga: Cara Masuk ke phpMyAdmin Tanpa Login cPanel.

Membuat Database Baru di PHPmyadmin

Setelah itu, buatlah sebuah tabel baru dengan nama users dan buat kolomnya seperti ini:

Membuat tabel baru

Kode SQL-nya:


CREATE TABLE `users` ( `id` int(11) NOT NULL, `username` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `photo` varchar(255) NOT NULL DEFAULT 'mặc định.svg' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Indexes for table `users` -- ALTER TABLE `users` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `username` (`username`); -- -- AUTO_INCREMENT for table `users` -- ALTER TABLE `users` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;

Selekhông đúng, selanjutnya kita mulai coding

Membuat Konekđắm đuối ke Database

Hal pertama yang harus kita lakukan adalah membuat kode untuk koneksay đắm ke database.

Silahkan buka file config.php, lalu imê mệt kodenya seperti ini:


php $db_host = "localhost"; $db_user = "root"; $db_pass = "kopi"; $db_name = "pesbuk"; try catch(PDOException $e)

Sesuaikan user dan password-nya dengan konfiguratê mê di komputermu. Karemãng cầu di komputer saya, password mysql-nya menggunakan kopi.

Jika tidak menggunakan password, maka dikosongkan saja.



Apage authority maksud kode config.php di atas?

Pertama kita membuat variabel untuk menyimpan konfiguramê man database:


$db_host = "localhost"; $db_user = "root"; $db_pass = "kopi"; $db_name = "pesbuk";

Setelah itu, kita membuat sebuah objek baru bernama $db, objek ini kita perlukan untuk melakukan query ke database.



Saat kita membuat objek PDO, kita gunakan blok Try/Catch untuk menantua error.

Cocha kita tes.

Silahkan buka terminal di VS Code (Tekan Ctrl+`), lalu jalankan VPS PHPhường. di sana dengan perintah:



Argumen -S menggunakan huruf besar/kapital.

Menjalankan Server PHP

Sekarang buka: http://localhost:8000/config.php

Jika tampilannya kosong, maka koneksi berhasil dan tidak adomain authority error.

Konektê mê PHP ke MySQL berhasil

Tapi kavệ sinh adomain authority error, biasanya akan tampil seperti ini.

Error saat koneksi mê PHPhường dan MYSQL


Membuat Halaman Utama

Halaman utama adalah halaman yang akan dibuka pertama kali oleh pengunjung web.

Halaman ini bertugas sebatua landing page, isinya cuma html saja.

Silahkan buka tệp tin index.php lalu itê mê kodenya seperti ini:


<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Pesbuktitle
> <link rel="stylesheet" href="css/bootstrap.min.css" /> head> <body class="bg-light"> <header> <div class="jumbotron jumbotron-fluid"> <div class="container"> <div class="row"> <div class="col-md-8"> <h1>Selamat datang di Pesbukh1> <p>Bergabunglah bersama jutaan orang lainnya...p> div> <div class="col-md-4"> <a href="login.php" class="btn btn-secondary">Masuka> <a href="register.php" class="btn btn-success">Daftara> div> div> div> div> header> <section> <div class="container"> <div class="row"> <div class="col-md-12"> <img class="img img-responsive" src="img/connect.png" /> div> div> div> section> body> html>

Setelah itu, cobố buka http://localhost:8000/.

Landing page

Keren ‘kan?

O ya gambarnya kita pinjam dari Facebook ????.

Tidak apa-apage authority, ini kan hanya untuk belajar saja. Nanti kalau sudah buat website sungguhan, tidak boleh menggunakan gambar orang lain tanpa izin.

Membuat Fitur Register di PHP

Berikutnya kita akan membuat fitur registramê man.

Alur kerjanya:

Input data dari form;Filter data yang diinputkan;Simpan ke database;Kavệ sinh berhasil, alihkan ke halaman login.

Mari kita buat.

Silahkan buka file register.php, lalu isi dengan kode berikut:


php require_once("config.php"); if(isset($_POST<'register'>)) ?> Register Pesbuk

Home

Bergabunglah bersama ribuan orang lainnya...

Sudah punya akun? Login di sini

<đầu vào class="form-control" type="password" name="password" placeholder="Password" />

Penjelasan:

Pertama kita membutuhkan objek $db untuk melakukan query, maka kita impor config.php dengan fungmê mẩn require_once().


require_once("config.php");

Setelah itu, baru kita buat kode untuk menyimpan data ke database.

Sebelumnya, kita cek dulu. Apakah tombol Register sudah ditekan atau belum:


if(isset($_POST<'register'>)) ?>

Selanjutnya melakukan filter dan enkripyêu thích password terhadap data yang diinputkan:


// filter data yang diinputkan $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING); $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING); // enkripham mê password $password = password_hash($_POST<"password">, PASSWORD_DEFAULT); $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);

Kenapa harus di-filter dan dienkripsi?

Jangan percaya padomain authority apage authority yang diinputkan user, bisa saja mereka menginputkan username dan name seperti ini:

Serangan XSS

Ini salah satu bentuk serangan XSS.

Karemãng cầu itu, kita harus memfilternya agar skrip yang diinputkan user diubah menjadi karakter yang aman.

Filter XSS

Lalu kenapa password harus dienkripsi?

Tujuannya untuk keamanan. Nanti kavệ sinh database dicuri, si mê pencuri tidak akan tahu password dari akun-akun yang sudah terdaftar.


// enkripham password $password = password_hash($_POST<"password">, PASSWORD_DEFAULT);

Tunggu dulu…

Kenapa password tidak di-filter?

Karena agar user dapat menggunakan simbol untuk membuat password.

Xem thêm: Html — Làm Cách Nào Tôi Có Thể Tạo Select Box Trong Html /Css Sinhviencntt

Kavệ sinh kita filter nanti user tidak bisa membuat password dengan simbol-simbol seperti: &, <, >, %, dll.

Setelah data di-filter, selanjutnya kita buat query dengan objek $db.


$sql = "INSERT INTO users (name, username, tin nhắn, password) VALUES (:name, :username, :email, :password)"; $stmt = $db->prepare($sql);

:name, :username, :gmail, :password adalah placeholder. Tujuannya agar terhindar dari serangan SQL Injection.

Setelah itu, kita bind parameter atau mengisi placeholder dengan nilai yang kita dapatkan dari hasil filter.


// bind parameter ke query $params = array( ":name" => $name, ":username" => $username, ":password" => $password, ":email" => $email );

Selanjutnya, kita eksekusay mê query-nya:


// eksekusi query untuk menyimpan ke database $saved = $stmt->execute($params);

Eksekuham query akan menghasilkan nilai true jika berhasil.

Sehingga kita bisa membuat sebuah kondisi:


// jika query simpan berhasil, maka user sudah terdaftar // maka alihkan ke halaman login if($saved) header("Location: login.php");

Lalu yang terakhir adalah kode untuk form registernya:


<form action="" method="POST"> ... form
>

Atribut action="" artinya data akan dikirim ke file itu sendiri, yaitu: register.php.

Mudah bukan?

Selanjutnya kita akan membuat fitur login.


Membuat Fitur Login di PHP

Silahkan buka tệp tin login.php lalu isi—ketik! jangan copas—dengan kode berikut:


php require_once("config.php"); if(isset($_POST<'login'>)) } } ?> Login Pesbuk

Home

Masuk ke Pesbuk

Belum punya akun? Daftar di sini

<đầu vào type="submit" class="btn btn-success btn-block" name="login" value="Masuk" />

$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING); $password = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING);

Selanjutnya melakukan query:


$sql = "SELECT * FROM users WHERE username=:username OR email=:email"; $stmt = $db->prepare($sql);

Padomain authority query, kita menggunakan logika OR agar user bisa login dengan tin nhắn dan username .

Selanjutnya bind parameter dan ekekusay đắm querynya.


// bind parameter ke query $params = array( ":username" => $username, ":email" => $username ); $stmt->execute($params);

Setelah query dieksekuyêu thích, kita ambil hasilnya dengan fungsay mê fetch().


$user = $stmt->fetch(PDO::FETCH_ASSOC);

Artinya, kita akan mengambil hasil query sebasợi array assosiatif.

Fungmê mệt fetch() akan menghasilkan null kalau tidak adomain authority data, maka kita bisa membuat kondiđam mê seperti ini:


// jika user terdaftar if($user)

Selanjutnya, kita lakukan verifikasay đắm password yang diinputkan oleh user dengan password yang ada di database.


if(password_verify($password, $user<"password">))

Fungđê mê password_verify() akan menghasilkan nilai true kavệ sinh password yang diinputkan sama dengan yang di database.

Langkah terakhir adalah membuat session dan mengalihkannya ke halaman timeline.php.


// buat Session session_start(); $_SESSION<"user"> = $user; // login sukses, alihkan ke halaman timeline header("Location: timeline.php");

Variabel $_SESSION adalah variabel super global yang bisa dibaca dari secài file PHP, karena diingat oleh VPS.

Untuk dapat menggunakan variabel $_SESSION kita harus memanggil fungsay đắm session_start() terlebih dahulu.

$_SESSION<"user"> = $user; artinya kita menyimpan data user ke dalam session.

Ini yang akan kita manfaatkan untuk mengecek apakah user sudah login atau belum.

Membuat Halaman Timeline

Sebelum membuat kode untuk halaman timeline.php, kita buat dulu auth.php.

File auth.php berfungmê man untuk mengecek session, apakah user sudah login atau belum.

Silahkan buka file auth.php kemudian iđam mê seperti ini:


php session_start(); if(!isset($_SESSION<"user">)) header("Location: login.php");

Penjelasan:

Seperti penjelasan sebelumnya, saat kita ingin menggunakan variabel $_SESSION, maka kita harus memanggil fungđê mê session_start() terlebih dahulu.

Setelah itu kita cek dengan:


if(!isset($_SESSION<"user">)) header("Location: login.php");

Artinya, jika variabel $_SESSION<"user"> tidak memiliki nilai, maka user belum login… paksa dia untuk login ????.

Tandomain authority seru (!) di depan isset() artinya tidak. Berarti tidak ter-set (variabel belum dibuat).

Nah barulah sekarang kita buat halaman timeline.php.

Silahkan buka file timeline.php, lalu isay đắm dengan kode berikut:


php require_once("auth.php"); ?> Pesbuk Timeline

<"name"> ?>

<"email"> ?>

Logout


Halaman timeline.php hanya boleh dibuka oleh user yang sudah login saja. Maka kita harus mengeceknya.

Bagaimamãng cầu caranya?

Cukup dengan mengimpor tệp tin auth.php:


php require_once("auth.php"); ?>

Apa bila user-nya belum login, maka dia akan dialihkan ke halaman login. Sesuai kondiđắm say logika yang kita buat padomain authority tệp tin auth.php.

Karemãng cầu kita sudah mengimpor file auth.php, kita bisa menggunakan variabel $_SESSION di sini.

Mari kita cocha ambil nilai yang disimpan di sana:


<img class="img img-responsive sầu rounded-circle mb-3" width="160" src="img/$_SESSION<'user'><'photo'> ?>" /> <h3>php echo $_SESSION<"user"><"name"> ?>

<"email"> ?>


Lalu membuat sebuah status dummy “lorem ipsum” sebanyak 6:


php for($i=0; $i < 6; $i++) ?>

Maka hasilnya:

Halaman Timeline

Kereenn… ????

Terakhir, tinggal buat logout.php saja nih.

Membuat Logout di PHP

Silahkan buka tệp tin logout.php, kemudian imê say dengan kode berikut:


php session_start(); session_unset("user"); header("Location: index.php");

Tungas dari file logout.php adalah menghancurkan atau menghapus session yang sudah dibuat.

Pertama-tama, kita harus memanggil fungmê man session_start(), karena kita akan menggunakan session di sini.


session_start();

Setelah itu, kita hancurkan atau hapus variabel $_SESSION<"user"> dengan fungsay mê session_unset("user").


session_unset("user");

Penghancuran session selekhông nên.

Selanjutnya kita alihkan ke halaman utama.


header("Location: index.php");

Apa Selanjutnya?

Kita sudah berhasil membuat fitur login register. Selanjutnya tinggal dikembangkan saja.

Silahkan cobố buat fitur:

Edit Profile;Update Status;Cari Teman;Follow dan Unfollow;Realtime Chat;dan lain-lain.

Xem thêm: download game aj

Selamat coding…

Bacaan berikutnya:

Cara Masuk ke phpMyAdmin Melalui cPanel dan Tanpage authority Login cPanel
Dukungan untuk Penulis

Suka dengan tulisan saya? Kamu bisa memberikan dukungan dengan mentraktir kopi di trakteer.id atau bagikan konten ini di sosial media.

❤️ Traktir Penulis

Chuyên mục: