将数据插入数据库后如何将模态加载为警报?

How to load modal as alertafter inserting data to database?

提问人:Kucen 提问时间:11/5/2023 更新时间:11/5/2023 访问量:41

问:

在将数据插入数据库后弹出模式时,我遇到了问题。因此,在tambahnotis.php中,我有一个表单供用户输入要插入数据库的数据。在tambahnotis.php的头部,我包含了从tambahnotisphp.php获取成功=='true'的脚本

下面的代码来自 tambahnotis.php

<script type="text/javascript">
    <?php
    if ($_GET['sucsess'] == 'true'){
        echo '$(document).ready(function() {
            $( "#modal-small" ).dialog();
        });';
    }
    ?>
</script>

<form class="card" action="tambahnotisphp.php" method="post" enctype="multipart/form-data" runat="server" >
    <div class="card-body">
        <div class="mb-3">
            <div class="form-label required">Nombor Fail</div>
            <input type="text" class="form-control" name="nomborFail" id="nomborFail" required="" onkeyup="checkUsername(this.value);">
            <div id="uname_response" ></div>
        </div>
        <div class="mb-3">
            <div class="form-label required">Ulasan</div>
            <textarea class="form-control" id="ulasan" name="ulasan" rows="4" cols="50" required=""></textarea>
        </div>
        <div class="mb-3">
            <div class="form-label required">Tarikh Notis Siasatan Dikeluarkan</div>
            <input type="date" class="form-control" name="tarikhNotisKeluar" id="tarikhNotis1" required=""/>
        </div>

        <div class="card-footer">
            <div class="row align-items-center">
            <div class="col"></div>
                <div class="col-auto">
                    <button type="submit" name="submit" class="btn btn-primary btnTambahNotis">Tambah Notis</button>
                </div>
            </div>
        </div>
    </div>
</form>


<div class="modal modal-blur fade" id="modal-small" tabindex="-1" role="dialog" aria-hidden="true">
      <div class="modal-dialog modal-sm modal-dialog-centered" role="document">
        <div class="modal-content">
          <div class="modal-body">
            <div class="modal-title">Success</div>
            <div>Notis Siasatan berjaya ditambah</div>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-success" data-bs-dismiss="modal">Okay</button>
          </div>
        </div>
      </div>
</div>


<div class="modal modal-blur fade" id="modal-small2" tabindex="-1" role="dialog" aria-hidden="true">
      <div class="modal-dialog modal-sm modal-dialog-centered" role="document">
        <div class="modal-content">
          <div class="modal-body">
            <div class="modal-title">Error</div>
            <div>Notis Siasatan tidak berjaya ditambah</div>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-success" data-bs-dismiss="modal">Okay</button>
          </div>
        </div>
      </div>
</div>

下面的代码是tambahnotisphp.php,其中php代码用于将输入数据从表单插入数据库。因此,在此代码中,如果查询成功将数据插入数据库,我将传递 sucsess = 'true'。


<?php

    include('connection.php');
    $conn=Connect();
    
    $idPengguna = "DI200017";

    $nomborFail = $conn->real_escape_string($_POST['nomborFail']);
    $ulasan = nl2br($_POST['ulasan']);
    $status = "BELUM SELESAI";
    // Date entered in the format "yyyy/mm/dd"
    $tarikhNotisKeluar = $conn->real_escape_string($_POST['tarikhNotisKeluar']);

    // Add 30 days to the date
    $futureDate30Days = date('Y-m-d',strtotime($tarikhNotisKeluar . ' +30 days'));
    $futureDate60Days = date('Y-m-d',strtotime($tarikhNotisKeluar . ' +60 days'));
    
        
    $query = "INSERT INTO notis(nomborFail, ulasan, tarikhNotisKeluar, tarikhNotis1, tarikhNotis2, status, idPengguna) VALUES('" . $nomborFail . "','" . $ulasan . "','" . $tarikhNotisKeluar . "','" . $futureDate30Days . "','" . $futureDate60Days . "','" . $status . "','" . $idPengguna . "')";

    $success = $conn->query($query);
            
    if ($success){
        
    header("Location: tambahnotis.php?sucsess=true");
            
    $conn->close();
    }else{
        die("Data Notis Siasatan tidak dapat ditambah: ".$conn->error);

    }   
    

?>

问题是它没有弹出模态。

php html 引导模态简单 模态

评论

2赞 Pippo 11/5/2023
您必须使用 激活模态。如果此模式仅用于确认数据保存成功,则其 HTML 可以移动到 .请注意,您没有将预准备语句用于 SQL 查询,并且您对 SQL 注入持开放态度:有关详细信息,请查看此处modal('show')if ($_GET['sucsess'] == 'true'){
0赞 Adi 11/5/2023
您似乎使用的是 Bootstrap 模式,而不是 jQuery UI 模式。正确说明@Pippo应该使用 Bootstrap 的模态函数来显示模态。

答:

0赞 Haroon 11/5/2023 #1

用这个替换你的代码!问题将得到解决

<?php if (isset($_GET['success'])) { ?>
<script>
    var myModal = new bootstrap.Modal(document.getElementById('modal-small'), {
  keyboard: false
})
myModal.show()
</script>
<?php } ?>

评论

0赞 Community 11/6/2023
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。