我正在尝试由管理员使用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
页。
还希望管理员成功更新数据时显示成功消息。
我该怎么做?
我不知道如何在模式中使用表单,然后如何提交表单,可能有一些非标准的方法,使我无所适从。
答案 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'> ...
尝试先修复这些问题。