将表单值从一个页面传递到另一个页面

时间:2013-11-30 02:22:16

标签: php html forms get

在我的表单中,我尝试将acad_id传递给academy_view.php页面。表单提交后,我试图将acad_id附加到网址。通过这种方式,我可以使用GET中的academy_view.php来从mysql db中提取记录。但每次提交后,帖子网址都有一个空白字段。

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

}

提交网址后,显示ID为空:http://www.example.com/academy_view.php?id=

2 个答案:

答案 0 :(得分:2)

您可以编辑代码以使用POST,如下所示

<form action="academy_view.php" method="POST">
    Name: <input type="text" name="name"></br>
    Academy ID: <input type="text" id="acad_id" name="id"></br>
<input value="SAVE" name="submit" type="submit">
</form> 

if (isset($_POST['id']) && is_numeric($_POST['id']) && $_POST['id'] > 0){
             // query db
        $acad_id = $_POST['id'];

//Some Code

}

答案 1 :(得分:0)

将值(状态)从一个页面传输到另一个页面的方法是通过请求参数,例如:

  • 网址,与GET参数一样
  • 请求正文,如表格POST。

假设您在academy_create.php并且已经有请求参数(GET或POST)acad_id,即URL ='http://example.com/academy_create.php?acad_id=1'或作为表单字段,您可以执行以下操作:不希望用户填写“acad_id”(已经确定):

...
$acad_id = $_REQUEST['acad_id'];
...    
<form action="academy_view.php" method="POST">
  Name: <input type="text" name="name"></br>
  Academy ID: <input type="hidden" id="acad_id" name="acad_id" value="$acad_id"></br>
<input value="SAVE" name="submit" type="submit">
</form> 

如果您希望用户可以更改该值,只需将“隐藏”更改为“文本”。

如果您希望该值是只读的,请设置将readonly添加到输入中。

现在,在academy_view.php中,您可以使用以下内容重新获取值:

$acad_id = $_REQUEST['acad_id'];