ada error saat menampilkan data setelah menekan tombol load more / lihat lebih banyak koleksi buku

selamat sore para mastah sekolah koding...

salam.

jadi kronologi nya saya sedang mengerjakan project belajar website online shop, tetapi ada masalah saat saya menampilkan data setelah menekan tombol load more / lihat lebih banyak koleksi buku.

contoh nya seperti gambar di bawah ini...

jadi tombol edit dan hapus tidak akan terlihat kalo si admin belom login...

akan tetapi permasalahan nya pada saat saya menekan tombol load more / lihat lebih banyak koleksi buku dalam ke adaan admin belom login, seharusnya kan tombol edit dan hapus tidak akan terlihat, tetapi pada contoh gambar di bawah ini tombol edit dan hapus nya malah terlihat.

bagaimana solusi nya para mastah sekolah sekoding...

berikut juga saya tampilkan script html nya..

<div class="tampil-load" style="padding:5px; width:100%;">
          <?php while($row = mysqli_fetch_assoc($isi_buku)): ?>
            <?php $last_id = $row['id']; ?>
          <div class="item" id="hapus_<?= $row['id']; ?>" style="margin-bottom:520px;">
            <div class="item-0">
                <div class="content-0">
                  <img src="asset/<?= $row['gambar']; ?>" class="gambar_" style="width:180px; height:240px; padding:10px;" alt="" />

                  <div class="fluid-buku">
                    <a href="data_singgle_page.php?id=<?= $row['id']; ?>" class="fluid-judul" style="cursor:default;"><h4><?= $row['judul']; ?></h4></a>
                    <p class="stock" style="cursor:default;"><?= $row['stok']; ?></p>
                    <p class="h_lama" style="cursor:default;">Rp <?= $row['harga']; ?></p>
                    <p style="cursor:default; margin-bottom:5px;">Hemat Rp <?= $row['hemat']; ?></p>
                    <h5 style="cursor:default;">Rp <?= $row['harga_baru']; ?></h5>
                  </div>

                  <div class="button-view">
                    <a href="#item" rel="nofollow" class="btn-chart keranjang baru">
                      <div class="keranjang-1">
                        <i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
                      </div>

                      <div class="keranjang-0">
                        <i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
                      </div>
                    </a>

                    <a href="data_singgle_page.php?id=<?= $row['id']; ?>" rel="nofollow" class="btn btn-view">
                      <div class="view-1">
                        <i class="fa fa-eye fa-3x" aria-hidden="true"></i>
                      </div>

                      <div class="view-0">
                        <i class="fa fa-eye fa-3x" aria-hidden="true"></i>
                      </div>
                    </a>
                  </div>

                  <?php if($super_user == true): ?>
                  <div class="button-aksi">
                    <div class="btn-edit-hapus">
                      <div class="btn-edit">
                        <a href="data_edit_buku.php?id=<?= $row['id']; ?>" class="edit"><i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i><br>
                        <span class="edit-0">Edit</span></a>
                      </div>

                      <div class="btn-hapus">
                        <a href="#item" class="hapus" data-id="<?= $row['id']; ?>"><i class="fa fa-trash-o fa-2x" aria-hidden="true"></i><br>
                        <span class="hapus-1">Hapus</span></a>
                      </div>
                    </div>
                  </div>
                  <?php endif;?>
                </div>
            </div>
          </div>
          <?php endwhile; ?>
        </div>
      </div>

        <div class="clearfix"></div>
        <div class="btn-load-more" style="margin-top:0px;">
          <div class="btn-load">
            <a href="#item" class="load more" data-id="<?= $last_id; ?>">Lihat Lebih Banyak Koleksi Buku</a>
          </div>
        </div>
      </div>
    </div>

dan yang ini trigger atau pemicu nya saat menekan tombol load more / lihat lebih banyak koleksi buku (script jquery ajax nya).

/*===================================
        Script Load More Dengan Jquery Ajax
      ====================================*/

      $(document).on('click','.load', function(){
        var last_id = $(this).attr('data-id');

        $.ajax({
          url: "data_load_more.php",
          method: "POST",
          data: {last_ids:last_id},
          cache:false,
          success: function(data){
            $('.more').hide();
            $('.tampil-load').append(data);
            console.log(data);
          }
        });
      });

dan yang ini adalah script tampil data nya setelah menekan tombol load more / lihat lebih banyak koleksi buku menggunakan (PHP).

<?php
  require_once 'core/init.php';
  global $link;

  $last_id = $_POST['last_ids'];
  $output = '';

  $query  = "SELECT * FROM penjualan WHERE id > $last_id LIMIT 5";
  $result = mysqli_query($link, $query);

  if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_assoc($result)){
        $last_id = $row['id'];
        $output .= '<div class="item" id="hapus_'.$row['id'].'">
                      <div class="item-0">
                          <div class="content-0">
                            <img src="asset/'.$row['gambar'].'" class="gambar_" style="width:180px; height:240px; padding:10px;" alt="" />

                            <div class="fluid-buku">
                              <a href="data_singgle_page.php?id='.$row['id'].'" class="fluid-judul" style="cursor:default;"><h4>"'.$row['judul'].'"</h4></a>
                              <p class="stock" style="cursor:default;">"'.$row['stok'].'"</p>
                              <p class="h_lama" style="cursor:default;">Rp "'.$row['harga'].'"</p>
                              <p style="cursor:default; margin-bottom:5px;">Hemat Rp "'.$row['hemat'].'"</p>
                              <h5 style="cursor:default;">Rp "'.$row['harga_baru'].'"</h5>
                            </div>

                            <div class="button-view">
                              <a href="#item" rel="nofollow" class="btn-chart keranjang baru">
                                <div class="keranjang-1">
                                  <i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
                                </div>

                                <div class="keranjang-0">
                                  <i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
                                </div>
                              </a>

                              <a href="data_singgle_page.php?id='.$row['id'].'" rel="nofollow" class="btn btn-view">
                                <div class="view-1">
                                  <i class="fa fa-eye fa-3x" aria-hidden="true"></i>
                                </div>

                                <div class="view-0">
                                  <i class="fa fa-eye fa-3x" aria-hidden="true"></i>
                                </div>
                              </a>
                            </div>

                            <?php if($super_user == true) : ?>
                            <div class="button-aksi">
                              <div class="btn-edit-hapus">
                                <div class="btn-edit">
                                  <a href="data_edit_buku.php?id='.$row['id'].'" class="edit"><i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i><br>
                                  <span class="edit-0">Edit</span></a>
                                </div>

                                <div class="btn-hapus">
                                  <a href="#item" class="hapus" data-id="'.$row['id'].'"><i class="fa fa-trash-o fa-2x" aria-hidden="true"></i><br>
                                  <span class="hapus-1">Hapus</span></a>
                                </div>
                              </div>
                            </div>
                            <?php endif; ?>
                          </div>
                      </div>
                    </div>';

    }
    $output .= '<div class="clearfix"></div>
                  <div class="btn-load-more">
                    <div class="btn-load">
                      <a href="#item" class="load more" data-id="'.$last_id.'">Lihat Lebih Banyak Koleksi Buku</a>
                    </div>
                  </div>';
  }else{
    $output .= '<div class="clearfix"></div>
                  <div class="btn-load-more">
                    <div class="btn-load">
                        <p class="not-found">Not Found</p>
                    </div>
                  </div>';
  }

  echo $output;
?>

mohon bantuan nya para mastah..

semoga pertanyaan saya jelas dan dapat dimengerti...

terima kasih.

avatar BadRabbit
@BadRabbit

149 Kontribusi 56 Poin

Diperbarui 7 tahun yang lalu

3 Jawaban:

Kode yang ditampilkan terlalu banyak tapi tidak berhubungan langsung dengan masalahnya., Kalau masalahnya " seharusnya kan tombol edit dan hapus tidak akan terlihat". Coba perhatikan bagian $super_user (asumsi saya kode ini yang nentuin di if else nya apakah tombol kelihatan apa ngga, coba didebug variable ini pelan-pelan, cari sumbernya dari mana, isinya apa, kalo orang biasa login, kalo admin login, atau kalu tidak ada yang login.

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 7 tahun yang lalu

saya sudah debug mas @hilmanrdn...

$super_user ini di dapat dari kodingan

$super_user = $login = false;

yang saya inisialisasi / ketikan di atas script html tersebut. lalu saya buatkan logika seperti yang ada di video sekolah koding, misalkan jika $super_user login bernilai 1 diakan login sebagai admin nya, lalu jika $super_user login bernilai 0 dia login sebagai user biasa..

yang saya buatkan script nya seperti di bawah ini.

<?php if ($_SESSION['user']) {
    $login = true;

    if (cek_status($_SESSION['user']) == 'admin') {
      $super_user = true;
    }
  }?>

dan

$_SESSION['user']

ini saya dapat di bagian script data_login_user.php nya.

script nya seperti dibawah ini..

<?php
  require_once 'core/init.php';
  global $link;

  $user = mysqli_real_escape_string($link, $_POST['users']);
  $pass = mysqli_real_escape_string($link, $_POST['password']);

  $pass = md5($pass);

  $query  = "SELECT * FROM login WHERE username = '$user' AND password = '$pass'";
  $result = mysqli_query($link, $query);

  if (mysqli_num_rows($result) != 0) {
    $_SESSION['user'] = $user;
    echo "berhasil";
  }else{
    echo "gagal";
  }
?>

kalo tidak ada yang login ada pesan error yang muncul seperti ini

Notice: Undefined index: user in C:\xampp\htdocs\portofolio_bukuOnline\home.php on line 7

kalo misalkan script nya saya die($super_user) atau dihentikan. kalo dari error tersebut kan berarti nama user belom ada di session browser saya atau belom login.

dan seharusnya kan berfungsi logika $super_user nya mas..

lalu saya coba inspect element... saya lihat data nya sebelum ditekan tombol load more / lihat lebih banyak Koleksi buku, di element nya ga ada tulisan seperti ini

<!--?php if($super_user == true) : ?-->

dan ini

<!--?php endif; ?-->

.

tapi setelah saya tekan tombol load more / lihat lebih banyak koleksi buku nya, muncul tulisan seperti ini

<!--?php if($super_user == true) : ?-->

dan ini

<!--?php endif; ?-->

.

kalo saya perhatikan script php yang ada di bagian data nya setelah menekan tombol load more nya

<?php if($super_user == true) : ?>//yang ini
                            <div class="button-aksi">
                              <div class="btn-edit-hapus">
                                <div class="btn-edit">
                                  <a href="data_edit_buku.php?id='.$row['id'].'" class="edit"><i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i><br>
                                  <span class="edit-0">Edit</span></a>
                                </div>

                                <div class="btn-hapus">
                                  <a href="#item" class="hapus" data-id="'.$row['id'].'"><i class="fa fa-trash-o fa-2x" aria-hidden="true"></i><br>
                                  <span class="hapus-1">Hapus</span></a>
                                </div>
                              </div>
                            </div>
                            <?php endif; ?>//sama yang ini

kaya di jadikan string atau ga kebaca gitu mas..

kira-kira penulisan nya sudah benar belum yah mas @hilmanrdn..??

avatar BadRabbit
@BadRabbit

149 Kontribusi 56 Poin

Dipost 7 tahun yang lalu

Jawaban Terpilih

Ketemu Mas Permasalahan nya...

WOW wow WOW..

jadi

<?php if($super_user == true) : ?>

Dan

<?php endif; ?>

tidak terbaca sebagai logika oleh php nya karena dianggap sebagai string atau komentar, kalo penulisan logika if nya seperti script php diatas yang saya tanyakan sebelum nya.

untuk itu cara nya adalah dengan menambahkan tag php lagi di dalam

$output .= '<div class="item" id="hapus_'.$row['id'].'">
                      <div class="item-0">
                          <div class="content-0">
                            <img src="asset/'.$row['gambar'].'" class="gambar_" style="width:180px; height:240px; padding:10px;" alt="" />

                            <div class="fluid-buku">
                              <a href="data_singgle_page.php?id='.$row['id'].'" class="fluid-judul" style="cursor:default;"><h4>'.$row['judul'].'</h4></a>
                              <p class="stock" style="cursor:default;">'.$row['stok'].'</p>
                              <p class="h_lama" style="cursor:default;">Rp '.$row['harga'].'</p>
                              <p style="cursor:default; margin-bottom:5px;">Hemat Rp '.$row['hemat'].'</p>
                              <h5 style="cursor:default;">Rp '.$row['harga_baru'].'</h5>
                            </div>

                            <div class="button-view">
                              <a href="#item" rel="nofollow" class="btn-chart keranjang baru">
                                <div class="keranjang-1">
                                  <i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
                                </div>

                                <div class="keranjang-0">
                                  <i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
                                </div>
                              </a>

                              <a href="data_singgle_page.php?id='.$row['id'].'" rel="nofollow" class="btn btn-view">
                                <div class="view-1">
                                  <i class="fa fa-eye fa-3x" aria-hidden="true"></i>
                                </div>

                                <div class="view-0">
                                  <i class="fa fa-eye fa-3x" aria-hidden="true"></i>
                                </div>
                              </a>
                            </div>'; ?>//yang ini

tersebut, baru saya ketikan

<?php if($super_user==true): ?>

kemudian saya tambahkan lagi dengan tag php dan digabungkan dengan $output nya. kira-kira penulisannya seperti ini

<?php $output .= '<div class="button-aksi">
                        <div class="btn-edit-hapus">
                            <div class="btn-edit">
                                <a href="data_edit_buku.php?id='.$row['id'].'" class="edit"><i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i><br>
                                <span class="edit-0">Edit</span></a>
                            </div>

                            <div class="btn-hapus">
                                <a href="#item" class="hapus" data-id="'.$row['id'].'"><i class="fa fa-trash-o fa-2x" aria-hidden="true"></i><br>
                                <span class="hapus-1">Hapus</span></a>
                            </div>
                        </div>
                      </div>'; ?>

setelah itu saya ketikan lagi dibawah nya kodingan

<?php endif; ?>

Berikut saya tampilkan script php nya secara keseluruhan...

<?php
  require_once 'core/init.php';
  global $link;
  error_reporting(0);

  /*========================================================================================================================
    Fungsi Ini Agar $super_user , $login Dan $_SESSION['user'] Dikenali Oleh if($super_user == true) Yang Berada Dibawah Ini
  ==========================================================================================================================*/

  $super_user = $login = false;
  if ($_SESSION['user']) { //$_SESSION['user'] Ini Di Dapat Dari data_login_user.php
    $login = true;

    if (cek_status($_SESSION['user']) == 'admin') {
      $super_user = true;
    }
  }

  /*===========================================================================================================================
    Query Mengeluarkan Data Penjualan Dimana Id Lebih Besar Dari Last_id Dan Dibatasi Mengeluarkan Data nya Dengan Script Limit
  ============================================================================================================================*/

  $last_id = $_POST['last_ids'];
  $output = '';

  $query  = "SELECT * FROM penjualan WHERE id > $last_id LIMIT 10";
  $result = mysqli_query($link, $query);

  /*==================================================================
    Fungsi Untuk Menghitung Jumlah Data Penjualan Yang Ada Di Database
  ===================================================================*/

  if(mysqli_num_rows($result) > 0){

    /*=====================================================
      Fungsi Untuk Mengeluarkan Data Penjualan Dengan While
    ======================================================*/

    while($row = mysqli_fetch_assoc($result)){
        $last_id = $row['id']; //$last_id Ini Didapat Dari $_POST['last_ids'] Yang Berada Diatas Script Ini
        $output .= '<div class="item" id="hapus_'.$row['id'].'">
                      <div class="item-0">
                          <div class="content-0">
                            <img src="asset/'.$row['gambar'].'" class="gambar_" style="width:180px; height:240px; padding:10px;" alt="" />

                            <div class="fluid-buku">
                              <a href="data_singgle_page.php?id='.$row['id'].'" class="fluid-judul" style="cursor:default;"><h4>'.$row['judul'].'</h4></a>
                              <p class="stock" style="cursor:default;">'.$row['stok'].'</p>
                              <p class="h_lama" style="cursor:default;">Rp '.$row['harga'].'</p>
                              <p style="cursor:default; margin-bottom:5px;">Hemat Rp '.$row['hemat'].'</p>
                              <h5 style="cursor:default;">Rp '.$row['harga_baru'].'</h5>
                            </div>

                            <div class="button-view">
                              <a href="#item" rel="nofollow" class="btn-chart keranjang baru">
                                <div class="keranjang-1">
                                  <i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
                                </div>

                                <div class="keranjang-0">
                                  <i class="fa fa-shopping-basket fa-3x" aria-hidden="true"></i>
                                </div>
                              </a>

                              <a href="data_singgle_page.php?id='.$row['id'].'" rel="nofollow" class="btn btn-view">
                                <div class="view-1">
                                  <i class="fa fa-eye fa-3x" aria-hidden="true"></i>
                                </div>

                                <div class="view-0">
                                  <i class="fa fa-eye fa-3x" aria-hidden="true"></i>
                                </div>
                              </a>
                            </div>'; ?>

  <?php if($super_user==true): ?>
    <?php $output .= '<div class="button-aksi">
                        <div class="btn-edit-hapus">
                            <div class="btn-edit">
                                <a href="data_edit_buku.php?id='.$row['id'].'" class="edit"><i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i><br>
                                <span class="edit-0">Edit</span></a>
                            </div>

                            <div class="btn-hapus">
                                <a href="#item" class="hapus" data-id="'.$row['id'].'"><i class="fa fa-trash-o fa-2x" aria-hidden="true"></i><br>
                                <span class="hapus-1">Hapus</span></a>
                            </div>
                        </div>
                      </div>'; ?>
  <?php endif; ?>
  <?php $output .= '</div>
                  </div>
                </div>';
  ?>

<?php }
      /*===============================================================
        Untuk Menampilkan Button Load More Setelah Menampilkan Data nya
      ================================================================*/

      $output .= '<div class="btn-load-more">
                    <div class="btn-load">
                      <a href="#item" class="load more" data-id="'.$last_id.'">Lihat Lebih Banyak Koleksi Buku</a>
                    </div>
                  </div>';
  }else{
    /*=================================================================================================
      Untuk Menampilkan Keterangan Not Found Ketika Data Telah Selesai Di Keluarkan Semua Dari Database
    ==================================================================================================*/

    $output .= '<div class="btn-load-more">
                    <div class="btn-load">
                        <p class="not-found">Not Found</p>
                    </div>
                  </div>';
  }

  echo $output;
?>

Mohon Maaf kalo agak membingungkan penjelasan nya...

Terima Kasih mas @hilmanrdn yang telah membantu saya..

salam..

avatar BadRabbit
@BadRabbit

149 Kontribusi 56 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban