如何在PHP中使用Bootstrap模态更新数据

时间:2019-01-07 17:55:49

标签: php bootstrap-4 bootstrap-modal

我正在尝试由管理员使用php中的引导模式来编辑每个用户的个人资料。 这是我正在做的摘要。 admin.php页面中的锚标记:

<a href="editprofile.php?id=<?php echo $ids[$i]?>"  class="fa fa-edit li-modal"  title="Edit Profile"></a>

admin.php页上的模式。

<div id="theModal" class="modal fade text-center">
<div class="modal-dialog">
  <div class="modal-content">
  </div>
</div>

同一页中的javascript,即admin.php

 $('.li-modal').on('click', function(e){
  e.preventDefault();
  $('#theModal').modal('show').find('.modal-content').load($(this).attr('href'));
});

这里是editprofile.php。 在此页面中,我在锚标签上方的那一栏中选择了要单击进行编辑的用户信息。

<?php 
    $connect = mysqli_connect('localhost','root','','db');


    if(isset($_GET['id'])){

        $id = $_GET['id'];
        $query = "SELECT * FROM user where id = '$id'";
        $run = mysqli_query($connect,$query);




}
?>
<div class="modal-header">
  <button type="button" class="close" data-dismiss="modal">X</button>

</div>
<div class="modal-body">
  <div class="panel panel-default">
    <div class="panel-heading text-center">
      User Information
    </div>
        <form action="edit.php" method="POST" id = 'myform'>
                <!-- body of the bootstrap modal -->
                <?php 
                 while($row = mysqli_fetch_assoc($run)){


                    ?>
                    <label for="name">First Name</label>
                    <input type="text" name = 'fname' value = '<?php echo $row['fname'] ?>' class = 'form-control'>
                    <?php
                 }


                 ?>

 <div class="modal-footer">

   <input type="button" name="save" class="btn btn-primary" data-dismiss="modal" value="Save Changes" form = 'myform'>

 </div>

这是我想做的: 我想通过单击保存更改的按钮来提交具有更新数据的表单(以模式形式存在) 当管理员在模态外部单击或单击模态右上方的关闭图标时,我想将用户重定向回admin.php页。 还希望管理员成功更新数据时显示成功消息。

我该怎么做?

我不知道如何在模式中使用表单,然后如何提交表单,可能有一些非标准的方法,使我无所适从。

1 个答案:

答案 0 :(得分:0)

我从未使用过引导程序,但我注意到您的“内嵌php”或while循环内的html / php混合部分出现了PHP语法错误。

此:

<?php echo $row['fname'] ?>

应如下所示:

<?php echo $row['fname']; ?>
您的示例中缺少

分号。

除此之外,当您只想在混合的html / php中回显某些内容时,就不需要php open标签。

尽管应该避免直接混合html / php,因为它是非常古老的PHP风格, 推荐这样的事情(在这种情况下,不需要分号结尾):

<?=$row['fname']?>
// wrapped in "()" is ok as well, kinda more readable 
<?=($row['fname'])?>

不仅如此。

您不能在所有地方编写用空格分隔的html标签参数值。不行

不是这样的:

name = 'fname' value = 

但是这样:

<tagname attribute='value' otherattribute='value'> ...

尝试先修复这些问题。