我正在制作一个菜谱应用程序,更新一个菜谱方法时遇到了问题。我有更新表单和sql查询。我甚至检查了表单输入变量 name
, description
,和 url
在我的 if
语句是更新的值。他们是。。我的sql是有效的。然而,当我填写编辑表单并点击submit时,我被导航回菜谱列表页面,其中我编辑的菜谱没有更改。
这是我的密码。
<?php
$recipe_id = $_GET['recipe_id'];
$recipes_fetch_existing_row_query = mysqli_query($con, "SELECT * FROM recipes WHERE id='$recipe_id'");
$recipe = mysqli_fetch_array($recipes_fetch_existing_row_query);
$name = $recipe['name'];
$description = $recipe['description'];
$url = $recipe['url'];
if(isset($_POST['update_recipe'])) {
$name = $_POST['recipe_name'];
$description= $_POST['recipe_description'];
$url = $_POST['recipe_url'];
$recipe_update_query = mysqli_query($con, "UPDATE recipe SET name='$name', description='$description', url='$url' WHERE id='$recipe_id'");
header("Location: ../../../index.php");
}
?>
<form action="../../../index.php" class="update_recipe_form" method="POST">
<input type="text" name="recipe_name" placeholder="name" value="<?php echo $recipe_name ?>" required>
<textarea name="recipe_description" id="recipe_description" placeholder="Enter a brief description of the recipe"><?php echo $recipe_description; ?></textarea>
<input type="text" name="recipe_url" id="recipe_url" value="<?php echo $recipe_url ?>" placeholder="url" required>
<input type="submit" name="update_recipe" id="update_recipe" value="Update">
</form>
Any ideas? :(
2条答案
按热度按时间qlvxas9a1#
你写的select请求正常吗
recipes
,但你写的更新请求recipe
本来应该是同一张table的,不是吗?食谱
x8goxv8g2#
当你
POST
提交表单后,第一行将运行null
价值,因为没有$_GET['...']
.把身份证和你的表格一起发送,也许是隐藏的字段。你可以继续:
或
https://www.php.net/manual/en/reserved.variables.request.php
正如其他评论员所提到的,这段代码不是为了生产性的使用而保存的!