Batasi jumlah pinjaman dan Pemberitahuan data stok kosong

asslamulaikum semua... masih tentang peminjaman barang, selanjutnya saya akan membatasi jumlah pinjaman nah jika jumlah pinjaman melebihi batas maka akan memberikan pesan bahwa jumlah pinjaman melebihi batas, dan juga jika barang sudah tidak ada lagi di tabel barang maka akan memunculkan pesan bahwa barang sudah habis... mohon solusinya......

 // query pinjaman
if (isset($_POST['pinjam'])) {
    $id_member = htmlspecialchars($_POST['id_member']);
    $id = htmlspecialchars($_POST['id']);
    $jmlpinjam = htmlspecialchars($_POST['jmlpinjam']);
    // ================== //
    $ekstensi_diperbolehkan    = array('pdf', 'docx');
    $nama    = $_FILES['suratpengajuan']['name'];
    $x        = explode('.', $nama);
    $ekstensi    = strtolower(end($x));
    $ukuran      = $_FILES['suratpengajuan']['size'];
    $file_tmp    = $_FILES['suratpengajuan']['tmp_name'];
    $namabaru = date('d-m-Y') . $nama;

    // ambil jumlah barang saat ini
    $jml_saatini =  $conn->query("SELECT * FROM tb_sarpases WHERE id='$id'");
    $jumlahnya = $jml_saatini->fetch_array();
    $jumlah = $jumlahnya['jumlah'];
    // Kurangi Jumlah
    $stok_baru = $jumlah - $jmlpinjam;

    if (in_array($ekstensi, $ekstensi_diperbolehkan) === true) {
        if ($ukuran < 10240) {
            move_uploaded_file($file_tmp, 'assets/surat/' . $namabaru);

            $query    = $conn->query("INSERT INTO tb_pinjaman (id_member,id,suratpengajuan,jmlpinjam) VALUES('$id_member','$id','$namabaru','$jmlpinjam')");

            // megurangi stok di tabel
            $kurangi_stok = $conn->query("UPDATE tb_sarpases SET jumlah='$stok_baru' WHERE id='$id'");

            if ($query && $kurangi_stok) {
                $_SESSION['eksekusi'] = "Peminjaman Berhasil Disimpan..., tunggu proses persetujuan dari pihak SMA";
                echo "<script>window.location='?member=peminjam';</script>";
            } else {
                echo mysqli_error($conn);
                // $_SESSION['error'] = "Data Gagal Di Simpan";
                // echo "<script>window.location='?member=peminjam';</script>";
            }
        } else {
            $_SESSION['error'] = "Ukuran File Terlalu Besar";
            echo "<script>window.location='?member=peminjam';</script>";
        }
    } else {
        $_SESSION['error'] = "Ekstensi Tidak Diperbolehkan, Ekstensi Harus .pdf";
        echo "<script>window.location='?member=peminjam';</script>";
    }
}
avatar arifrohman
@arifrohman

21 Kontribusi 4 Poin

Diperbarui 1 tahun yang lalu

2 Jawaban:

<div>Ya mungkin sebelum pengecekan yang</div><pre>in_array($ekstensi, $ekstensi_diperbolehkan) === true</pre><div><br>ditambahin aja pengecekan lain nya untuk $stok_baru, jika melebihi batas baru ikutin seperti kodingan lain nya yang $_SESSION['error'] dan echo .<br><br>Jika valid maka Else untuk lanjut ke&nbsp;</div><pre>in_array($ekstensi, $ekstensi_diperbolehkan) === true <br></pre><div><br>Btw, agak penasaran. Ukuran &lt; 10240 bener aja ya? Itu dalam bentuk byte kan? jadi ukurannya cuman 10Kb ga sampai 1Mb.<br><br><br></div>

avatar GrennKren
@GrennKren

62 Kontribusi 47 Poin

Dipost 1 tahun yang lalu

Jawaban Terpilih

<div>Coba query samakan dg&nbsp; query untuk stok kurang atau kosong di bawah ini</div><pre> if (isset($_POST['pinjam'])) { $id_member = htmlspecialchars($_POST['id_member']); $id = htmlspecialchars($_POST['id']); $jmlpinjam = htmlspecialchars($_POST['jmlpinjam']);

$ekstensi_diperbolehkan    = array(&#039;pdf&#039;, &#039;docx&#039;);
$nama    = $_FILES[&#039;suratpengajuan&#039;][&#039;name&#039;];
$x        = explode(&#039;.&#039;, $nama);
$ekstensi    = strtolower(end($x));
$ukuran      = $_FILES[&#039;suratpengajuan&#039;][&#039;size&#039;];
$file_tmp    = $_FILES[&#039;suratpengajuan&#039;][&#039;tmp_name&#039;];
$namabaru = date(&#039;d-m-Y&#039;) . $nama;

// ambil jumlah barang saat ini
$jml_saatini =  $conn-&amp;gt;query(&quot;SELECT * FROM tb_sarpases WHERE id=&#039;$id&#039;&quot;);
$jumlahnya = $jml_saatini-&amp;gt;fetch_array();
$jumlah = $jumlahnya[&#039;jumlah&#039;];
// Kurangi Jumlah
$stok_baru = $jumlah - $jmlpinjam;
if ($jumlah &amp;lt; $jmlpinjam) {
    $_SESSION[&#039;error&#039;] = &quot;Stok Barang Kurang...&quot;;
    echo &quot;&amp;lt;script&amp;gt;window.location=&#039;?member=peminjam&#039;;&amp;lt;/script&amp;gt;&quot;;
} else {
    if (in_array($ekstensi, $ekstensi_diperbolehkan) === true) {
        if ($ukuran &amp;lt; 10240 ) {
            move_uploaded_file($file_tmp, &#039;assets/surat/&#039; . $namabaru);

            $query    = $conn-&amp;gt;query(&quot;INSERT INTO tb_pinjaman (id_member,id,suratpengajuan,jmlpinjam) VALUES(&#039;$id_member&#039;,&#039;$id&#039;,&#039;$namabaru&#039;,
            &#039;$jmlpinjam&#039;)&quot;);

            $kurangi_stok = $conn-&amp;gt;query(&quot;UPDATE tb_sarpases SET jumlah=&#039;$stok_baru&#039; WHERE id=&#039;$id&#039;&quot;);

            if ($query &amp;amp;&amp;amp; $kurangi_stok) {
                $_SESSION[&#039;eksekusi&#039;] = &quot;Peminjaman Berhasil Disimpan..., tunggu proses persetujuan dari pihak SMA&quot;;
                echo &quot;&amp;lt;script&amp;gt;window.location=&#039;?member=peminjam&#039;;&amp;lt;/script&amp;gt;&quot;;
            } else {
                echo mysqli_error($conn);
                // $_SESSION[&#039;error&#039;] = &quot;Data Gagal Di Simpan&quot;;
                // echo &quot;&amp;lt;script&amp;gt;window.location=&#039;?member=peminjam&#039;;&amp;lt;/script&amp;gt;&quot;;
            }
        } else {
            $_SESSION[&#039;error&#039;] = &quot;Ukuran File Terlalu Besar&quot;;
            echo &quot;&amp;lt;script&amp;gt;window.location=&#039;?member=peminjam&#039;;&amp;lt;/script&amp;gt;&quot;;
        }
    } else {
        $_SESSION[&#039;error&#039;] = &quot;Ekstensi Tidak Diperbolehkan, Ekstensi Harus .pdf&quot;;
        echo &quot;&amp;lt;script&amp;gt;window.location=&#039;?member=peminjam&#039;;&amp;lt;/script&amp;gt;&quot;;
    }
}

} </pre>

avatar ariffqu
@ariffqu

8 Kontribusi 11 Poin

Dipost 1 tahun yang lalu

Login untuk ikut Jawaban