![](https://d33wubrfki0l68.cloudfront.net/10608a88f6851aaaf19dc7a45443809ae6ebb6e4/0a0da/static/82471063091d8dd5c25baba64914d893/c1b63/flutter.png)
Finally yah gaes, kita sampai pada bagian akhir pembuatan aplikasi autentikasi sederhana dengan Flutter-PHP-MySQL.
Pada bagian awal (
cek disini ) kita membuat UI dan pada
bagian kedua kita membuat fungsi-fungsinya. Kini saatnya kita membuat jembatan komunikasinya Flutter - MySQL, yaitu PHP. Tidak lupa juga basis datanya juga 👌
Yuklah kita selesaikan yah...
Hilangkan rasa penisirin untuk simple authentication flutter kitah 😋
Kita perhatikan kembali baris kode Future _login() kita di artikel sebelumnya ya
Future _login() async {
print("\n=======|> memanggil fungsi _login() ");
var url = Uri.http("localhost", "/flutter/login.php", {'q':'{http}'});
var response = await http.post(
url,
body: {
"email" : email.text,
"password" : password.text
});
Di bagian url, kita menggunakan http untuk mengakses localhost/flutter/login.php
Ini menandakan bahwa kita harus memiliki file login.php di dalam folder flutter. Nah folder flutter ini letaknya di server localhost.
🛈 Letak localhost dengan server XAMPP berada di c:\xampp\htdocs sedang untuk server IIS berada di lokasi C:\inetpub\wwwroot
Karena kita menggunakan server XAMPP, maka kita buat dulu folder kita, yaitu flutter.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbuVcj42L92ZduAFZzGUAAJc2IPiXyBv3F-sY-VGDwNVozfB5A2kjTTmIofgod1E526iK7WIVr3JM9V_ijyLOGXCQrgxI1T60Dj37JG_a4PMR82siuK95rvYOqQaQLRl7hFn9qstSKxSf3muRJfA6Fnufp4cqQ1KxLmC4STwH-J3umRlsRVrwstgml/s320/WhatsApp%203_5_2023%209_32_35%20PM.png)
Setelah kita membuat file baru (
login.php ) di dalam folder flutter. Sekarang kita buat basis datanya melalui phpMyAdmin.
Buka halaman web localhost/phpmyadmin dan buat basis data db_flutter
Dilanjutkan membuat tabelnya (
tb_login ) dengan struktur data seperti berikut :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwiCQZkDdvmgUbOQwEhT_jwd1fgUluAQ0_p26LceETWo5dtK3MW-TZceEIMZ3K0X5bAlHGKV_ZAMSmF2RhaJx1X5zHjR0p1Zq11EG20zOnSvF983wnias9U5--a6odCx9TDBla-0Is71opnh-nzkRaATg6Q_JLrfZBlj6Ho2uZSS_n_sC_kcakVhfS/s320/Photos%203_5_2023%209_54_05%20PM.png)
Next step 📚
Buka file
login.php tersebut dengan VS Code dan kita isi dengan baris-baris kode berikut :
<?php
$db = mysqli_connect(
"localhost",
"root",
"",
"db_flutter");
header("Content-Type: application/json; charset=utf-8");
$email = $_POST["email"];
$password = $_POST["password"];
$sql=("SELECT * FROM tb_login WHERE
email = '".$email."' AND password = '".$password."'");
$result = mysqli_query($db, $sql);
$count = mysqli_num_rows($result);
if($count == 1) {
echo json_encode("Success");
} else {
echo json_encode("Error");
}
?>
Baris kode :
$db = mysqli_connect(
"localhost",
"root",
"",
"db_flutter");
Kita gunakan untuk menyambungkan php dengan mysql dengan db_flutter yang akan kita gunakan basis datanya.
Selanjutnya :
header("Content-Type: application/json; charset=utf-8");
Kita gunakan sebagai penanda bahwa header kita bertipe JSON. Selanjutnya :
$email = $_POST["email"];
$password = $_POST["password"];
Merupakan variabel yang kita gunakan untuk menangkap dan menyimpan data yang dikirim oleh perintah :
var response = await http.post(
url,
body: {
"email" : email.text,
"password" : password.text
});
Yang ada di dalam baris kode flutter kita. Kenapa $_POST ?
Ya karena await hhtp.post, jadi data terkirim dengan method post dan bisa kita tangkap dengan perintah $_POST 😁
$sql=("SELECT * FROM tb_login WHERE email = '".$email."' AND password = '".$password."'");
$result = mysqli_query($db, $sql);
Variabel $sql kita menyimpan query SQL untuk mengambil data dari mysql jika email dan password sesuai dengan data yang kita masukkan lewat aplikasi flutter kita. Dan $result kita gunakan untuk menajalankan query $sql.
$count = mysqli_num_rows($result);
Kita lihat data yang ada dengan fungsi mysqli_num_rows, karena fungsi ini akan mengembalikan data number ( jumlah total data ), bukan datanya.
if($count == 1) {
echo json_encode("Success");
} else {
echo json_encode("Error");
}
Jika variabel $count menyimpan angka 1, maka file login.php ini akan menampilkan sebuah data JSON dengan isi Success.
Teks Success inilah yang kita tangkap dalam variabel data ini :
var data = json.decode(response.body);
if ( data.toString() == "Success") {
print("Data 'log in' ditemukan!\n");
setState(() {
email.clear();
password.clear();
});
Makanya kita bisa gunakan kembali operator percabangan if, dengan membandingkan isi Success 👌😁
Nah sekarang everything is done, try our app now!
Bagaimana hasilnya, berhasil bukan ( btw jangan lupa isi tabel kita dengan data terlebih dahulu yah )
Any question, just write at comment box below. Thanks for your attention gaes 😉😇
📝 Note for Aplikasi Log In Flutter PHP MySQL
Design UI → Bagian 1
Fungsi → Bagian 2
Back End → Bagian 3 ( This Article )