Anda di halaman 1dari 4

Membuat Aplikasi Todo Menampilkan

List Todo
Mengatasi pesan error file_get_contents
Pada materi sebelumnya, kita sudah membahas tentang cara menginput data dan disimpan pada
file todo.txt

Pada pemanggilan fungsi file_get_contents() , program akan membaca file todo.txt, namun hal
tersebut harus dipastikan bahwa file todo.txt availabel / tersedia.

Nah bagaimana jika file todo.txt yang akan dibaca tidak tersedia?

Jika file yang hendak dibaca tidak tersedia, maka akan muncul error seperti di bawah ini :

Nah untuk mengatasi error tersebut, kita bisa menambahkan pengecekan terlebih dahulu, apakah file
yang hendak dibaca tersedia atau tidak, yaitu dengan menambahkan fungsi file_exists($namafile)

<?php
//total array yang disiapkan untuk disimpan
$todos = [];
//melakukan pengecekan apakah file todo.txt ditemukan
if(file_exists('todo.txt'))
{
//membaca file todo.txt
$file = file_get_contents('todo.txt');
//mengubah format serialize menjadi array
$todos = unserialize($file);
}
//Jika ditemukan todo yang dikirim melalui methode POST
if(isset($_POST['todo']))
{
$data = $_POST['todo']; // mengabil data yang di input pada form
$todos[]=[
'todo' => $data,
'status'=>0
];
$daftar_belanja=serialize($todos);
file_put_contents('todo.txt',$daftar_belanja);
}
?>
<h1>Todo App</h1>
<form action="" method="POST">
<label>Daftar Belanja Hari ini<label><br>
<input type="text" name="todo">
<button type="submit">Simpan</button>
</form>
<ul>
<li>
<input type="checkbox" name="todo">
<label> Todo 1</label>
<a href='#'>hapus</a>
</li>
<li>
<input type="checkbox" name="todo">
<label> Todo 1</label>
<a href='#'>hapus</a>
</li>
<li>
<input type="checkbox" name="todo">
<label> Todo 1</label>
<a href='#'>hapus</a>
</li>
</ul>

Menampilkan Data ke dalam List


Untuk menampilkan data ke dalam list, kita menggunakan perulangan foreach.

List yang sudah kita buat sebelumnya dapat dihapus dan diganti dengan kode berikut ini.
<ul>
<?php foreach($todos as $key=>$value): ?>
<li>
<input type="checkbox" name="todo">
<label><?php echo $value['todo'];?></label>
<a href='#'>hapus</a>
</li>
<?php endforeach; ?>
</ul>

Kode diatas menggunakan perulangan foreach seperti materi yang sudah dijelaskan sebelumnya,


digunakan untuk menampilkan data pada array $todos satu persatu. Kode lengkapnya menjadi seperti
berikut ini.

<?php
//total array yang disiapkan untuk disimpan
$todos = [];
//melakukan pengecekan apakah file todo.txt ditemukan
if(file_exists('todo.txt'))
{
//membaca file todo.txt
$file = file_get_contents('todo.txt');
//mengubah format serialize menjadi array
$todos = unserialize($file);
}
//Jika ditemukan todo yang dikirim melalui methode POST
if(isset($_POST['todo']))
{
$data = $_POST['todo']; // data yang dipilih pada form
$todos[]=[
'todo' => $data,
'status'=>0
];
$daftar_belanja=serialize($todos);
file_put_contents('todo.txt',$daftar_belanja);
}
?>
<h1>Todo App</h1>
<form action="" method="POST">
<label>Daftar Belanja Hari ini<label><br>
<input type="text" name="todo">
<button type="submit">Simpan</button>
</form>
<ul>
<ul>
<?php foreach($todos as $key=>$value): ?>
<li>
<input type="checkbox" name="todo">
<label><?php echo $value['todo'];?></label>
<a href='#'>hapus</a>
</li>
<?php endforeach; ?>
</ul>

Apabila kode diatas dijalankan maka akan menampilkan ourput seperti dibawah ini

Dapat dilihat dengan jelas pada gambar diatas dimana data yang terdapat pada file
array $todos ditampilkan satu persatu dengan menggunakan input type checkbox.

Anda mungkin juga menyukai