Cara membikin login facebook menggunakan php 7

Home

Bergabunglah bersama ribuan orang lainnya...

Sudah punya akun? Login di sini

Nama Lengkap
Username
Email
Password

Penjelasan:

Pertama kita membutuhkan objek $db untuk melakukan query, maka kita impor config.php dengan fungsi 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 enkripsi 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];
// enkripsi 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 pada apa yang diinputkan user, bisa saja mereka menginputkan username dan name seperti ini:

Home

Masuk ke Pesbuk

Belum punya akun? Daftar di sini

Username
Password

Penjelasan:

Algoritmanya hampir sama seperti register.

Pertama kita mengimpor file config.php:

require_once["config.php"];

Setelah itu, kita cek apakah tombol login sudah ditekan atau belum:

if[isset[$_POST['login']]]{
    // ...
}

Lalu melakukan filter:

$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];

Pada query, kita menggunakan logika OR agar user bisa login dengan email dan username .

Selanjutnya bind parameter dan ekekusi querynya.

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

Setelah query dieksekusi, kita ambil hasilnya dengan fungsi fetch[].

$user = $stmt->fetch[PDO::FETCH_ASSOC];

Artinya, kita akan mengambil hasil query sebagai array assosiatif.

Fungsi fetch[] akan menghasilkan null kalau tidak ada data, maka kita bisa membuat kondisi seperti ini:

// jika user terdaftar
if[$user]{
    //...
}

Selanjutnya, kita lakukan verifikasi password yang diinputkan oleh user dengan password yang ada di database.

if[password_verify[$password, $user["password"]]]{
    //...
}

Fungsi password_verify[] akan menghasilkan nilai true kalau 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 semua file PHP, karena diingat oleh server.

Untuk dapat menggunakan variabel $_SESSION kita harus memanggil fungsi 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 berfungsi untuk mengecek session, apakah user sudah login atau belum.

Silahkan buka file auth.php kemudian isi seperti ini:







    
    
    
    Pesbuk Timeline

    



Bài mới nhất

Chủ Đề