阅读GET参数以及提交表单

时间:2015-09-02 05:45:28

标签: php forms post get

我有链接<more-routing>。当用户访问此页面时,他可以将发布文章的时间延长他输入的天数。我需要从 GET 参数中获取此文章的ID,但是当我提交表单时,链接变为../index.php?id=1而没有任何获取参数。有没有办法提交表单而不会丢失get参数,或类似的东西。形式:

../index.php

2 个答案:

答案 0 :(得分:2)

POST方法可以有GET参数。它们不是相互排斥的。

<form action="index.php?id=1" method="post">

针对您的具体情况:

<form action="index.php?id=<?= $_GET['id']?>" method="post">

当然,可以从id访问GET参数中的$_GET

<?php
/**
  * Submit action target page (index.php in this case)
  */

$id = $_GET['id']; // GET params
$days = $_POST['days']; // POST params
?>

答案 1 :(得分:0)

将表单的方法更改为get,您将通过$_GET['days']获取日期变量。否则,您可以使用$_POST['days']获取天数。

要保留get参数,可以在表单生成期间向表单添加隐藏字段。

<form action="index.php" method="get">

Enter number of days:
<input type="text" name="days">
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">
<input type="submit" name="submit" value="Submit">

</form>

但是,请注意它不安全,因为用户可以在表单提交期间修改它。