表单发布操作:在 $_POST 中看不到查询参数


Form post action: not seeing query parameters in $_POST

我有一个带有表单的小型PHP应用程序(MVC)。该操作如下所示:

<form action="<?php sprintf("/v/.../update?job=%s", $job->id);?>" method="post">

这里$job是一个PHP对象,我从控制器传递视图。我保留id字段(整数),以便我可以更新数据库中与对象对应的行。

当我进入 post 请求的 update 函数时,我没有在$_POST中看到这个值(尽管它在 $GET 中)。我应该如何检索此值?这是意料之中的吗?

尝试按 $_GET['job'] 获取或从操作 url 中删除"job"并发送隐藏文本字段以获得 $_POST['job']。

另外,我认为您的操作网址没有创建。 使用回声

<form action="<?php echo sprintf("/v/.../update?job=%s", $job->id);?>" method="post">

您将作业参数作为 url 字符串传递,在这种情况下,无论您的表单操作获取或发布什么,都可以$_GET$_REQUEST arraies 中看到它,而不是$_POST,因为此参数不是表单输入。