
Bukalah file helper.dart lalu masukan kode berikut ini:
Future kirimDataApi(Map<String, dynamic> dataMurid) async {
final urlTujuan = Uri.parse(
'https://belajar-pemrograman.my.id/data/terimaJson.php',
);
final respon = await http.post(
urlTujuan,
headers: {'Content-Type': 'application/json;charset=UTF-8'},
body: jsonEncode(dataMurid),
);
final status = respon.statusCode;
return respon.statusCode;
}
Keterangan:
Copy file tambah_murid.dart menjadi tambah_murid_api.dart lalu rubahlah nama classnya menjadi TambahMuridApi seperti berikut ini:
class TambahMuridApi extends StatefulWidget {
const TambahMuridApi({super.key});
@override
State createState() => TambahMuridState();
}
Masih dalam file tambah_murid_api.dart lalu pada metode onPressed dalam tombol Simpan, rubahlah kode berikut ini:
masukinDataMurid(dataMurid);
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
'Nilai tersimpan: $namaLengkap, $kotaTinggal, $jKel, $tglLahir, $alamat',
),
),
);
menjadi
kirimDataApi(dataMurid).then((kodeStatus) {
if (kodeStatus == 200) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Sukses kirim data ke Server'),
),
);
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Error kirim data ke Server')),
);
}
});
Keterangan:
Saya membuat file terimaJson.php dengan isi seperti berikut ini:
$file = 'dataMurid.json';
$stringJson = file_get_contents('php://input');
$objekJsonTambahan = json_decode($stringJson);
if($objekJsonTambahan->nama != ''){
$isiFile = file_get_contents($file);
$dataMurid = json_decode($isiFile, true);
$jumlahArray = count($dataMurid);
$idMurid = $dataMurid[$jumlahArray-1]['id']+1;
$objekJsonTambahan->id = $idMurid;
$dataMurid[] = $objekJsonTambahan;
$dataJsonKeString = json_encode($dataMurid, JSON_PRETTY_PRINT);
file_put_contents($file, $dataJsonKeString);
return http_response_code(200);
}else{
return http_response_code(400);
}
Keterangan:
ListTile(
title: Text('Tambah Murid API'),
onTap: () {
setState(() {
_indeks = 5;
});
Navigator.pop(context);
},
),
Tekan menu Run -> Start Debugging atau shortcut tombol F5