【发布时间】:2013-11-30 02:22:15
【问题描述】:
在我的表单中,我试图将acad_id 传递给academy_view.php 页面。表单提交后,我尝试将acad_id 附加到网址。这样我可以在academy_view.php 中使用GET 从mysql db 中提取记录。但每次提交后,post url 都有一个空的 id 字段。
academy_create.php
$acad_id = $_POST['acad_id'];
<form action="academy_view.php?id=<?php echo $acad_id; ?>" method="POST">
Name: <input type="text" name="name"></br>
Academy ID: <input type="text" id="acad_id" name="acad_id"></br>
<input value="SAVE" name="submit" type="submit">
</form>
academy_view.php
if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0){
// query db
$acad_id = $_GET['id'];
//Some Code
}
提交后url显示id为空:http://www.example.com/academy_view.php?id=
【问题讨论】:
-
您提交 acat_id 两次,作为 GET 参数和作为 POST 的表单值。仅使用带有隐藏字段的 POST:
<input type="hidden" id="acad_id" name="acad_id" value="$acad_id" /> -
@erny 我如何从
academy_view.php检索$acad_id? -
您从“academy_create.php”发帖到“academy_view.php”,所以应该是
$acad_id = $_POST['acad_id'];。如果您不介意,请使用 $_REQUEST 变量而不是 $_GET 和 $_POST。 -
@erny 好吧,我有点迷茫,但我有点追随你。您介意发布官方答案吗
-
已添加。我希望这是可以理解的。您可以通过向 URL 添加一些内容或将输入(隐藏或不隐藏)添加到具有过去用户提供的数据值的表单,将状态从一个页面传输到另一个页面。