Cara Membuat API Login dan Regitrasi Menggunakan PHP

Published by farizdotid on

Cara Membuat API Login dan Regitrasi Menggunakan PHP farizdotid

Cara Membuat API Login dan Regitrasi Menggunakan PHP – Halo teman-teman dev. Di kesempatan nulis artikel kali ini saya ingin membuat sebuah API sederhana yang terkoneksi dengan server lokal atau biasa kita sebut localhost. API itu apa sih ? API ini berupa singkatan dari Application Programming Interface, Kegunaannya apa ? Kegunaannya API ini jika dalam kasus develop aplikasi android adalah sebagai penghubung antara android dan server. API ini berada di tengah-tengah antara android dan server, Yang dimana android mengirim ke API lalu API akan meneruskan ke server. Jadi kurang lebih seperti itu pemahaman mengenai API yang saya tau. Nah sekarang kita akan membuat sebuah API yang berfungsi untuk user login dan juga user bisa men-registrasi. Yuk disimak Cara Membuat API Login dan Regitrasi Menggunakan PHP.

Cara Membuat API Login dan Regitrasi Menggunakan PHP farizdotid

Pertama,

Download terlebih dahulu xampp. Jika agan sudah punya silahkan skip step pertama ini.

Download xampp

Kedua,

Buatlah database dengan nama terserah agan. Contoh disini dengan nama database db_mahasiswa.

Ketiga,

Buatlah tabel dengan nama terserah agan. Contoh disini dengan nama tbl_user dan berisi field-field id, unique_id, nama, email, encrypted_password, salt. Agan bisa mengcopy – paste code sql berikut ini :

 

Keempat,

Buat folder dengan nama terserah agan di dalam folder htdocs. Contoh disini saya membuat folder dengan nama mahasiswa.

Kelima,

Didalam folder mahasiswa tersebut buat folder kembali yang bernama include. Isi folder include disini ialah untuk mengisi file-file helper saja. Jadi kurang lebih menjadi direktori seperti ini :

-htdocs

–mahasiswa

—include

Keenam,

Didalam folder include buatlah file dengan nama Config.php . Kelas ini berisi variabel-variabel informasi server kita.

 

Ketujuh,

Didalam folder include buatlah filde dengan nama DB_Connect.php . Kelas ini berfungsi untuk menghubungkan kita ke server.

 

Kedelapan,

Didalam folder include buatlah file dengan nama DB_Function.php . Kelas ini berfungsi untuk menyimpan suatu fungsi yang didalam fungsi tersebut akan mengirim data ke server.

 

Kesembilan,

Didalam folder mahasiswa buatlah filde dengan nama login.php . Kelas ini berfungsi untuk login dengan parameternya email dan password.

 

Kesepuluh,

Didalam folder mahasiswa buatlah file dengan nama register.php . Kelas ini berfungsi untuk menerima data dari Android yang lalu diteruskan menyimpan data ke server.

 

Kesebelas,

Silahkan coba terlebih dahulu API Login dan Registrasi tersebut di Aplikasi POSTMAN dengan method POST. Jika agan belum punya Aplikasi Postman agan bisa mendownloadnya disini ( download postman ).

API Login : http://localhost/mahasiswa/login.php

API Register : http://localhost/mahasiswa/register.php

Respon API Login :

Login berhasil

Login gagal

 

Respon API Register :

Register berhasil

 

Register Gagal ( email sudah ada di database )

 

Keduabelas,

Selesai dan API Login dan Register tersebut sudah bisa digunakan. Agan bisa men-download project tersebut disini :

[sociallocker]

Download Project API Mahasiswa

[/sociallocker]

Sekian artikel API mengenai Cara Membuat API Login dan Regitrasi Menggunakan PHP. Semoga berguna dan bermanfaat. Seperti biasa jika ada yang ingin ditanyakan bisa berkomentar dibawah ataupun PM ke salah satu media sosial saya.

Hatur nuhun! 🙂

Sumber Referensi :

http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/

 


UPDATE !!!


Jika tutorial diatas tidak jalan, kalian bisa lihat di artikel terbaru mengenai Cara Membuat API Login Register Dengan SLIM Framework

Categories: API

23 Comments

Krismawan · October 31, 2017 at 8:32 am

file downloadnya nggak bisa gan

    farizdotid · October 31, 2017 at 10:09 am

    wah iya gan, sudah terupdate gan. Hatur nuhun gan 🙂

oktayossy · November 14, 2017 at 10:04 am

gan itu buat dipostmannya gmna ya, kurang paham di masukin responnya

    farizdotid · November 22, 2017 at 9:41 am

    Masukin responnya apa ya gan maksudnya?

ricco · November 16, 2017 at 12:16 pm

gan saya sudah ikuti sampai tahap ke sebelas.. namun saat di coba
http://localhost/mahasiswa/login.php
http://localhost/mahasiswa/register.php

respon nya error seperti ini:
untuk yang login.php

Warning: require_once(include/DB_Functions.php): failed to open stream: No such file or directory in D:\xampp\htdocs\bantosan\login.php on line 2

Fatal error: require_once(): Failed opening required ‘include/DB_Functions.php’ (include_path=’.;D:\xampp\php\PEAR’) in D:\xampp\htdocs\bantosan\login.php on line 2

untuk yang register.php

Warning: require_once(include/DB_Functions.php): failed to open stream: No such file or directory in D:\xampp\htdocs\bantosan\register.php on line 3

Fatal error: require_once(): Failed opening required ‘include/DB_Functions.php’ (include_path=’.;D:\xampp\php\PEAR’) in D:\xampp\htdocs\bantosan\register.php on line 3

    farizdotid · November 22, 2017 at 9:42 am

    coba lihat file di DB_Functions.php nya gan

dwi · November 23, 2017 at 5:41 am

GAn.. saya nyoba kok error nya gini ya..

Warning: require_once(mobile/DB_Connect.php): failed to open stream: No such file or directory in
C:\xampp\htdocs\aplikasipmbuin\mobile\DB_Functions.php on line
9

Fatal error: require_once(): Failed opening required ‘mobile/DB_Connect.php’ (include_path=’C:\xampp\php\PEAR’) in
C:\xampp\htdocs\aplikasipmbuin\mobile\DB_Functions.php on line
9

    farizdotid · November 29, 2017 at 7:15 am

    Coba lihat DB_Functionnya gan dan juga DB_Connectnya

tamvann · November 30, 2017 at 4:16 am

Gan saya kok error yaa, errornya gini

Warning: require_once(include/DB_Functions.php): failed to open stream: No such file or directory in C:\xampp\htdocs\PKost\login.php on line 2

Fatal error: require_once(): Failed opening required ‘include/DB_Functions.php’ (include_path=’C:\xampp\php\PEAR’) in C:\xampp\htdocs\PKost\login.php on line 2

dan DB_Function.php nya gini gan

conn = $db->connect();
}

// destructor
function __destruct() {

}

public function simpanUser($nama, $email, $password) {
$uuid = uniqid(”, true);
$hash = $this->hashSSHA($password);
$encrypted_password = $hash[“encrypted”]; // encrypted password
$salt = $hash[“salt”]; // salt

$stmt = $this->conn->prepare(“INSERT INTO tbl_user(unique_id, nama, email, encrypted_password, salt) VALUES(?, ?, ?, ?, ?)”);
$stmt->bind_param(“sssss”, $uuid, $nama, $email, $encrypted_password, $salt);
$result = $stmt->execute();
$stmt->close();

// cek jika sudah sukses
if ($result) {
$stmt = $this->conn->prepare(“SELECT * FROM tbl_user WHERE email = ?”);
$stmt->bind_param(“s”, $email);
$stmt->execute();
$user = $stmt->get_result()->fetch_assoc();
$stmt->close();

return $user;
} else {
return false;
}
}

/**
* Get user berdasarkan email dan password
*/
public function getUserByEmailAndPassword($email, $password) {

$stmt = $this->conn->prepare(“SELECT * FROM tbl_user WHERE email = ?”);

$stmt->bind_param(“s”, $email);

if ($stmt->execute()) {
$user = $stmt->get_result()->fetch_assoc();
$stmt->close();

// verifikasi password user
$salt = $user[‘salt’];
$encrypted_password = $user[‘encrypted_password’];
$hash = $this->checkhashSSHA($salt, $password);
// cek password jika sesuai
if ($encrypted_password == $hash) {
// autentikasi user berhasil
return $user;
}
} else {
return NULL;
}
}

/**
* Cek User ada atau tidak
*/
public function isUserExisted($email) {
$stmt = $this->conn->prepare(“SELECT email from tbl_user WHERE email = ?”);

$stmt->bind_param(“s”, $email);

$stmt->execute();

$stmt->store_result();

if ($stmt->num_rows > 0) {
// user telah ada
$stmt->close();
return true;
} else {
// user belum ada
$stmt->close();
return false;
}
}

/**
* Encrypting password
* @param password
* returns salt and encrypted password
*/
public function hashSSHA($password) {

$salt = sha1(rand());
$salt = substr($salt, 0, 10);
$encrypted = base64_encode(sha1($password . $salt, true) . $salt);
$hash = array(“salt” => $salt, “encrypted” => $encrypted);
return $hash;
}

/**
* Decrypting password
* @param salt, password
* returns hash string
*/
public function checkhashSSHA($salt, $password) {

$hash = base64_encode(sha1($password . $salt, true) . $salt);

return $hash;
}

}

?>

    farizdotid · December 1, 2017 at 2:13 am

    COba lngsung download porjectnya aja gan, Kalau masih error sepertinya perlu diupdate kodingannya. Di tes sama ane sih sebelumnya lancar2 aja.

rossa · November 14, 2018 at 11:35 am

hi, kak tanya dong kak, kok pas di test di postman {“error”:true,”error_msg”:”Parameter (nama, email, atau password) ada yang kurang”} padahal nama, email dan passwordnya udh dimasukin

    farizdotid · November 21, 2018 at 4:23 pm

    Nah ini sepertinya saya perlu diupdate lagi source codenya kak. Secepatnya saya update ya

    fajar · November 30, 2018 at 3:31 pm

    sama ni bg blum di update ya bg?

Fariq · January 22, 2019 at 1:29 pm

Kak salt itu gunanya untuk apa ya?

Ricky · February 15, 2019 at 7:54 pm

mas udh di update blom yg ini? sya ada error email, username atau password ada yg kurang [pas di test postman..

    farizdotid · February 16, 2019 at 3:58 pm

    Udah ada updatenya gan di bawah artikel. Silahkan dicoba lagi.

yordy · June 30, 2019 at 12:22 am

Admin yang terhormat,Dan juga agan yang telah membuat tutorial diatas
saya beterima kasih teelah membantu saya untuk membuat aplikasi diatas menggunakan file download di GitHub
mohon maaf,tetapi saya bingung kenapa saya bisa login tapi file dosen maupun mata kuliah tidak dapat dibuka,maupun menginput mata kuliah nya
apa ada salah coding ke database atau kesalahan lain
mohon pencerahan pada pemula ini

Luthfi Shatara · October 20, 2019 at 8:13 pm

Gan… Saya Udah Jadi Tapi Pas Di Tes Hasilnya Ada Pesan Ginii :

{“error”:true,”error_msg”:”Parameter (email atau password) ada yang kurang”}

Ruth · November 8, 2019 at 7:50 am

“Salt” yang ada di database itu apa ya kak? dan fungsinya apa?

Tutorial Login dan Register Menggunakan Retrofit2 dan API Server · May 14, 2017 at 7:24 am

[…] terlebih dahulu API Login dan Registernya. Agan bisa kesini ( Cara Membuat API Login dan Regitrasi Menggunakan PHP […]

Cara Membuat API CRUD Menggunakan Slim Framework · August 7, 2017 at 3:14 pm

[…] folder htdocs agan lalu cari folder mahasiswa. Jika belum ada agan bisa ke artikel Cara Membuat API Login dan Regitrasi Menggunakan PHP terlebih […]

Cara Membuat API Login Register Dengan SLIM Framework · December 3, 2018 at 2:17 am

[…] Laravel. Sebelum tutorial memakai SLIM Framework ini, sudah ada artikel yang membahas membuat API Login dan Register menggunakan PHP murni. Bedanya apa dengan PHP murni ? Banyak dan tidak bisa saya jelaskan satu-satu. Salah satu […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.