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