我在接收$ _GET值时遇到问题,我需要将其作为ID来更新我的表。
我正在使用<a href='includes/edit_section.php?id=$id'>Change</a>
。正确获取变量$ id并可以正常工作,当我单击此链接(因为它在表中)时,它显示正确的值。
但是问题出在下一部分,当我用$ _GET接受它时。我试图使变量($ id = $ _GET ['id']),但没有任何变化。
当我执行此操作时,没有任何更新,当我将$ _GET替换为数字时,它会正常工作。
我的桌子看起来像这样Table(ID,Title,Paragraph,Image)
这是我的代码:
<?php
if(isset($_POST['submit'])) {
$title = $_POST['title'];
$paragraph = $_POST['paragraph'];
$query = "UPDATE table SET title = '{$title}', paragraph = '{$paragraph}' WHERE id = '{$_GET['id']}' ";
$c= mysqli_query($connection, $query);
}
这是我的表格
<form action="edit_section.php" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" name="title">
<label for="paragraph">Paragraph</label>
<input type="text" class="form-control" name="paragraph">
</div>
<div class="form-group">
<input class="btn btn-primary" type="submit" name="submit" value="cHANGE">
</div>
</form>
答案 0 :(得分:0)
在顶部添加
$id = $_GET['id'];
然后
基本上是问题所在
<form action="edit_section.php"
应该是
<form action="edit_section.php?id=<?php echo $id;?>"
您的更新查询ID中的plus应该是ID(大写)。还要检查其他列名是否区分大小写
答案 1 :(得分:0)
像tihs一样在HMTL上更改表单的动作
<form action="edit_section.php?<?=$_GET['id']?>" method="post" enctype="multipart/form-data">
答案 2 :(得分:0)
在表单中添加“ id”作为隐藏变量。
已编辑-省略了表单中隐藏的“ id”值的双引号。
<form action="edit_section.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" name="title">
<label for="paragraph">Paragraph</label>
<input type="text" class="form-control" name="paragraph">
</div>
<div class="form-group">
<input class="btn btn-primary" type="submit" name="submit" value="cHANGE">
</div>
</form>
对您的PHP脚本进行以下更改
<?php
if(isset($_POST['submit'])) {
$title = $_POST['title'];
$id = $_POST['id'];
$paragraph = $_POST['paragraph'];
$query = "UPDATE table SET title = '{$title}', paragraph = '{$paragraph}' WHERE id = '{$id}' ";
$c= mysqli_query($connection, $query);
}
?>
答案 3 :(得分:0)
问题是提交表单时需要发送id
,传统的处理方式是使用隐藏类型输入,例如<input type="hidden" name="id" value="<?= $id ?>">
,当然,有必要将ID传递到呈现表单的视图中
所以您可以尝试这个
<form action="edit_section.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?= $id ?>">
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" name="title">
</div>
<div class="form-group">
<label for="paragraph">Paragraph</label>
<input type="text" class="form-control" name="paragraph">
</div>
<div class="form-group">
<input class="btn btn-primary" type="submit" name="submit" value="cHANGE">
</div>
</form>
在处理表格时
<?php
if(isset($_POST['submit'])) {
$id = $_POST['id'];
$title = $_POST['title'];
$paragraph = $_POST['paragraph'];
$query = "UPDATE table SET title = '{$title}', paragraph = '{$paragraph}' WHERE id = '{$id}' ";
$c= mysqli_query($connection, $query);
}
我以标题和段落的输入形式将其分开