Cara menggunakan php tunggu

I wrote a simple method for sleeping with a float, which also allows you to do milliseconds (via fractional seconds).

  function sleepFloatSecs($secs) {
    $intSecs = intval($secs);
    $microSecs = ($secs - $intSecs) * 1000000;

    if($intSecs > 0) {
      sleep($intSecs);
    }
    if($microSecs > 0) {
      usleep($microSecs);
    }
  }
?>
_

And testing on my machine it works perfectly:

  $x = [0.100,0.250,0.5,1.0,1.5,2.0,2.5];_

  foreach($x as $secs) {
    $t = microtime(true);
    sleepFloatSecs($secs);
    $t = microtime(true) - $t;
    echo "$secs \t => \t $t\n";
  }
?>

Output:_

  0.1     =>    0.10017800331116
  0.25    =>    0.25016593933105
  0.5     =>    0.50015211105347
  1       =>    1.0001430511475
  1.5     =>    1.5003218650818
  2       =>    2.000167131424
  2.5     =>    2.5002470016479
?>
_

Sudah setahun sejak artikel tentang membuat sistem login PHP dengan beberapa level pengguna (admin, editor, penulis, dll) diterbitkan, sepertinya sekarang adalah waktu yang tepat untuk memberikan informasi serupa, yaitu tentang penantian PHP. sistem moderasi. Ini adalah logika yang akan menahan (pending) setiap postingan yang dibuat oleh user selain admin, postingan tersebut tidak akan muncul di website sampai admin menyetujuinya

Logika ini bisa diterapkan untuk apa saja seperti kiriman artikel, komentar, dan lain-lain. Kita buat contoh untuk submit artikel, ketika user selain administrator, maka artikel berstatus pending dan belum muncul di blog sampai disetujui oleh administrator. Begitu juga jika menerapkan logika ini di komentar atau lainnya

Caranya super gampang gan, misal di tabel database submit artikel yang sudah ada sekarang seperti ini

Cara menggunakan php tunggu

Cara menggunakan php tunggu

iklan oleh posciety

  • Indo
  • id_category
  • judul
  • memposting konten
  • posting gambar
  • tanggal
  • id_author

Tambahkan struktur baru yang akan digunakan untuk sistem pending, biasanya saya menggunakan statuspost. Jadi sekarang tabel database akan berisi sesuatu seperti ini

Baca Juga

Apa itu memory_limit dan bagaimana cara mengaturnya di cPanel?

Cara Mengatur max_input_time di cPanel

Cara Mengatur max_execution_time di cPanel

Cara Mudah Membuat Tabel di Ms. Unggul

  • Indo
  • id_category
  • judul
  • memposting konten
  • posting gambar
  • tanggal
  • id_author
  • status postingan

Untuk status postingan atur defaultnya ke angka saja biar gampang, misal angka 0 artinya pending dan angka 1 artinya publish. Jadi nilai default untuk statuspost adalah 0

Cara menggunakan php tunggu

Cara mengubah nilai default ini tinggal klik Change kemudian pada bagian Default (jika menggunakan bahasa Indonesia) pilih As Defined. dan masukkan angka 0, ini juga bisa dilakukan secara langsung saat membuat struktur baru. Jangan lupa atur sebagai INT karena kita mendeklarasikannya sebagai angka

Sampai saat ini sistem pending sudah siap untuk dibangun. Pastikan anda sudah membaca tutorial sebelumnya tentang Menampilkan Data di PHP Menurut Apa yang Dibuat Pengguna Login, sangat membantu untuk menyusun kode yang berfungsi untuk menampilkan data yang berbeda untuk setiap pengguna login sesuai dengan apa yang mereka lakukan. Misal user A login maka dia akan melihat semua artikel yang dia buat di dashboardnya, artikel yang dibuat oleh user B dan user lain tidak akan ditampilkan

Sekadar mengingatkan, buat halaman untuk menambahkan postingan/artikel di dashboard pengguna. Misalnya seperti ini

Cara menggunakan php tunggu

Bikin sesuai selera ya gan 😀

Untuk postingan kali ini tentunya kita akan menggunakan sistem insert, disini saya tidak akan membahasnya lagi karena sudah dijelaskan dengan sangat detail pada tutorial sebelumnya tentang cara membuat sistem insert di php. Silahkan baca terlebih dahulu jika ingin mengetahui sistem insert lebih detail

Salin kode berikut dan tempel di halaman penambahan posting

<?php

    $sess_prof = $_SESSION;

    if(isset($_POST['submitpost'])) {
        $pilih_kategori =   $_POST['pilih_kategori'];
        $judulpost =   $_POST['judulpost'];
        $isipost =   $_POST['isipost'];
        $date = date("Y-m-d H:i:s");
        $author = $_POST['id_author'];
        $statuspost = $_POST['statuspost'];
        $file_name  =   $_FILES['gambarpost']['name'];
        $tmp_name   =   $_FILES['gambarpost']['tmp_name'];
        move_uploaded_file($tmp_name, "../images/blog/".$file_name);
        mysqli_query($koneksi, "INSERT INTO post VALUES('','$pilih_kategori','$judulpost','$isipost','$file_name','$date','$author','$statuspost')");
        header("location:index.php?daftar-blog&berhasiltambahblog");
    }

    $kategori = mysqli_query($koneksi, "SELECT * FROM kategoripost ORDER BY nama_kategoripost ASC");

?>
        <div class="content">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-lg-12 col-md-12">
                        <div class="card">
                            <div class="header">
                                <h4 class="title" id="berhasiltambahakun">Tambah Post</h4>
                            </div>
                            <div class="content">
                                <form method="post" enctype="multipart/form-data" role="form">
                                    <div class="row">
                                        <div class="col-md-12">
                                            <div class="form-group">
                                                <label for="judulpost">Judul Post</label>
                                                <input type="text" name="judulpost" class="form-control border-input" placeholder="Masukkan Judul Post">
                                            </div>
                                        </div>
                                      </div>
                                      <div class="row">
                                        <div class="col-md-12">
                                          <div class="form-group">
                                            <textarea class="form-control border-input" name="isipost" required placeholder="Tulis Artikel Menarik..." rows="7"></textarea>
                                        </div>
                                        </div>
                                      </div>
                                    <div class="row">
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <label for="username_author">Author Username</label>
                                                <input type="text" name="username_author" class="form-control border-input" readonly value="<?php echo $sess_prof['akun_username'] ?>">
                                            </div>
                                        </div>
                                        <div class="col-md-6">
                                            <label for="pilih_kategori">Kategori</label>
                                            <select name="pilih_kategori" class="form-control border-input" required>
                                                <option value="">Pilih Kategori</option>
                                                    <?php if(mysqli_num_rows($kategori)) {?>
                                                        <?php while($row_kategori = mysqli_fetch_array($kategori)) {?>
                                                            <option value="<?php echo $row_kategori['id'] ?>"><?php echo $row_kategori['nama_kategoripost'] ?></option>
                                                        <?php } ?>
                                                    <?php } ?>
                                            </select>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-md-6">
                                            <div class="form-group">
                                              <label for="gambarpost">Gambar Post</label>
                                              <input type="file" name="gambarpost" class="form-control border-input" required>
                                            </div>
                                        </div>
                                        <div class="col-md-6">
                                            <div class="form-group">
                                              <button type="submit" name="submitpost" class="btn btn-info">Kirim Post</button>
                                              <button type="reset" class="btn btn-danger">Batal</button>
                                            </div>
                                        </div>
                                    <div>
                                    <div class="col-xs-12">
                                        <input type="hidden" name="id_author" value="<?php echo $sess_prof['akun_id'] ?>">
                                    </div>
                                </form>
                            </div>
                            <div class="col-xs-12 text-center">
                                    <a href="index.php?daftar-blog">&larr; Kembali Ke Daftar Artikel Saya</a>
                                </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

Karena di sini saya menggunakan kategori sebagai contoh, membutuhkan kueri kategori juga, hapus saja jika tidak diperlukan. Pastikan Anda telah menyesuaikan dengan benar kode PHP ini dengan HTML yang ada

Sampai disini mungkin ada yang bertanya, lalu untuk apa nilai postingan status?

Kita cukup menerapkannya di system insert ($_POST) dan di query saja agar tidak ada error saat pengiriman ke database, tidak perlu membuat field form karena tadi kita sudah menentukan nilai default untuk statuspost adalah 0. Artinya setiap postingan yang dikirim akan memiliki status postingan 0

Tidak hanya sampai disini, masih ada beberapa hal yang perlu kami selesaikan

Oke, sekarang semua postingan yang terkirim akan memiliki status postingan 0. Lalu apa yang harus dilakukan?

Jika sudah membaca tutorial sebelumnya tentang cara menampilkan data dari database di PHP, maka tidak akan sulit lagi. Cukup tambahkan WHERE post.statuspost = '1'_ yang artinya postingan yang akan ditampilkan adalah postingan yang status postingannya 1 (kita sudah sepakat 0 pending dan 1 pusblish), tinggal set angka yang mau digunakan asalkan konsisten

$query  = mysqli_query($koneksi, "SELECT * FROM post WHERE post.statuspost = '1' ORDER BY id DESC");
_

Dengan cara ini ketika mengunjungi halaman blog pada website yang bersangkutan, maka akan ditampilkan semua postingan yang berstatus post 1 alias publish alias sudah disetujui oleh admin. Sedangkan artikel dengan status postingan 0 tidak akan muncul dan menunggu persetujuan admin

Cara menggunakan php tunggu

Lalu Bagaimana Admin Menyetujuinya?

Masih ada yang kurang saat menjelaskan hanya sampai disini, apakah admin menyetujui postingan dengan mengubah angka 0 menjadi 1 di database?

Diatas artikel ini telah disertakan link tutorial tentang menampilkan postingan yang berbeda untuk setiap login user, disitu sudah dijelaskan bahwa user A hanya bisa melihat postingan yang dibuatnya, user B juga bisa melihat yang sama, sedangkan admin bisa melihat semua postingan di database mulai dari yang pending, sampai yang sudah publish

Artinya admin dapat mengedit artikel/postingan dan merubah status postingan dari 0 menjadi 1, pastikan anda sudah membuat form field untuk ini. Contoh

Cara menggunakan php tunggu

Ubah ke nomor 1 lalu Perbarui Posting (ini menggunakan sistem edit yang sudah dibahas pada tutorial sebelumnya), maka sistem akan menyimpan data terbaru ini (nomor 1) dan mungkin beberapa konten posting yang ingin diubah oleh admin. Setelah berubah menjadi 1, postingan akan muncul di halaman blog