Generic placeholder image

Todo App Menyimpan file

Ditanyakan pada tanggal 7 January 2019 oleh Jaka Perdana

halo teman teman, kode di bawah ini

<?php
$todos = [];
$file = file_get_contents('todo.txt');
$todos = json_decode($file);

if(isset($_POST['todo'])){
    $data = $_POST['todo'];
    $todos[] = 
    [
        'todo' => $data,
        'status' => 0
    ];

    file_put_contents('todo.txt', json_encode($todos));
}

?>

<h2>To Do App</h2>

<form method="POST">
    <label>Apa yang mau Anda lakukan hari ini?</label><br>
    <input type="text" name="todo">
    <input type="submit" value="submit">
</form>

<ul>
    <label><strong>To Do :</strong></label><br>
    <li>
        <input type="checkbox" name="todo">
        <label>makan</label>
        <a href="#">delete</a>
    </li>

    <li>
        <input type="checkbox" name="todo">
        <label>game</label>
        <a href="#">delete</a>
    </li>

    <li>
        <input type="checkbox" name="todo">
        <label>ngoding</label>
        <a href="#">delete</a>
    </li>

    <li>
        <input type="checkbox" name="todo">
        <label>tidur</label>
        <a href="#">delete</a>
    </li>
</ul>

Nah yang mau saya tanyakan duluan dibaca :

$todos[] = 
    [
        'todo' => $data,
        'status' => 0
    ];

atau

$todos = json_decode($file);

dan harusnya untuk kode agar file bisa disimpan lebih dari satu data ditambahkan saja FILE_APPEND pada kode ini, works kok

file_put_contents('todo.txt', json_encode($todos), FILE_APPEND);
}

dan untuk kode yang paling atas, pemakaian put_get_contents untuk mengambil data sebelumnya hanya akan berhasil jika sudah ada data sebelumnya, jika tidak hasilnya error

BUAT KOMENTAR

1 JAWABAN

Generic placeholder image
Dijawab pada tanggal 8 January 2019 oleh Muhammad Alif

hai Jaka, terima kasih telah bertanya,

  1. Dikarenakan kode tersebut belum menggunakan konsep OOP maka program akan dibaca atas kebawah, sehingga$todos = json_decode($file); akan dijalankan terlebih dahulu
  2. Silahkan tambahkan source code berikut:
    $my_file = 'file.txt';
    $handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file);

source code diatas berfungsi untuk membuat file baru.

BUAT KOMENTAR