【发布时间】:2023-03-20 19:12:02
【问题描述】:
我有一个页面,用户在其中选择具有唯一 ID 的食谱,然后他们被发送到另一个页面,该页面显示该食谱的信息,但没有显示任何内容。
$recipes = mysql_query("
SELECT DISTINCT `name`, `step1`, `step2`, `step3`, `image`, `reference`
FROM `recipe` r
INNER JOIN `recipe_ingredients` ri
ON r.id = ri.recipe_id
WHERE ri.ingredient_id IN (".$ingredient1.",".$ingredient2.",".$ingredient3.")
");
这是主页上的查询,它允许用户选择一组成分,然后从中检索食谱。
echo '<form action="recipe.php?id=<?php echo $recipe_id;?>" method="POST">';
echo '<input id="search" name="Look" type="Submit" value="Look" >';
echo '</form>';
在每个配方下都有一个用户按下的按钮,这会将用户发送到特定的配方。
$sql = mysql_query("SELECT `name`, `image`
FROM `recipe`
WHERE `id` = ".$_GET['id']." LIMIT 1");
这是我在结果页面 (recipe.php) 上运行的查询
在我运行的页面下方。
<?php
echo $_GET['id'];
?>
它没有显示 ID,在我显示的 url 中是这样的:
"recipe.php?id="
表格中有数据,我做错了什么?
【问题讨论】:
-
您的
<form>正在使用POST;您需要以$_POST['id']的身份访问变量,或者将表单的方法更改为 GET -
我没有看到你在任何地方设置
$recipe_id -
@SamuelCook 应该是别的吗?
-
你应该在那个 sql 语句中参数化你的变量。
-
@Lawrence:我好像记得I was helping you, with extended notes in chat 而你没有回复。请注意回复所有帮助您的人,尤其是如果您未在此处提供答案。