假设我有一个名为 display.php 的页面,用户正在查看 display.php?page = 3 。我希望允许用户通过POST请求执行投票操作,然后将其带回到他们所在的页面。那么,如果我对 display.php?page = 3 发出POST请求,那么页面信息是否也可用于脚本?

有帮助吗?

解决方案

简单的答案是'是'。您可以使用GET样式的URL作为POST表单的提交URL。在提交表单时,PHP将以通常的方式提供POST和GET信息。

这并不是说你应该这样做,但它会起作用。

其他提示

在PHP中,您可以从特殊的全局数组中获取请求变量:

在PHP中,您可以从特殊的全局数组中获取请求变量:

<?php
//vote.php
$page_number = (int)

在PHP中,您可以从特殊的全局数组中获取请求变量:

在PHP中,您可以从特殊的全局数组中获取请求变量:

<*>

听起来你正在寻找“后发后重定向”,我建议将display.php和vote.php分成单独的文件。投票看起来像这样:

<*>

请注意,盲目接受未经过抽样处理的表单数据可能会对您的应用程序造成危害。

编辑:有些人认为使用$ _REQUEST处理这两种情况都是不好的形式。如果您在预期POST时收到GET,则可能需要发出错误信号。通常,GET保留用于查看,POST保留用于进行更改(创建/更新/删除操作)。这是否真的是一个问题取决于您的应用程序。

GET['page'] (for GET requests)

在PHP中,您可以从特殊的全局数组中获取请求变量:

<*>

听起来你正在寻找“后发后重定向”,我建议将display.php和vote.php分成单独的文件。投票看起来像这样:

<*>

请注意,盲目接受未经过抽样处理的表单数据可能会对您的应用程序造成危害。

编辑:有些人认为使用$ _REQUEST处理这两种情况都是不好的形式。如果您在预期POST时收到GET,则可能需要发出错误信号。通常,GET保留用于查看,POST保留用于进行更改(创建/更新/删除操作)。这是否真的是一个问题取决于您的应用程序。

POST['page'] (for POST requests)

在PHP中,您可以从特殊的全局数组中获取请求变量:

<*>

听起来你正在寻找“后发后重定向”,我建议将display.php和vote.php分成单独的文件。投票看起来像这样:

<*>

请注意,盲目接受未经过抽样处理的表单数据可能会对您的应用程序造成危害。

编辑:有些人认为使用$ _REQUEST处理这两种情况都是不好的形式。如果您在预期POST时收到GET,则可能需要发出错误信号。通常,GET保留用于查看,POST保留用于进行更改(创建/更新/删除操作)。这是否真的是一个问题取决于您的应用程序。

REQUEST['page'] (for either)

听起来你正在寻找“后发后重定向”,我建议将display.php和vote.php分成单独的文件。投票看起来像这样:

<*>

请注意,盲目接受未经过抽样处理的表单数据可能会对您的应用程序造成危害。

编辑:有些人认为使用$ _REQUEST处理这两种情况都是不好的形式。如果您在预期POST时收到GET,则可能需要发出错误信号。通常,GET保留用于查看,POST保留用于进行更改(创建/更新/删除操作)。这是否真的是一个问题取决于您的应用程序。

REQUEST['page']; vote_for_page($page_number); //your voting logic header('Location: display.php?page=' . $page_number); //return to display.php

听起来你正在寻找“后发后重定向”,我建议将display.php和vote.php分成单独的文件。投票看起来像这样:

<*>

请注意,盲目接受未经过抽样处理的表单数据可能会对您的应用程序造成危害。

编辑:有些人认为使用$ _REQUEST处理这两种情况都是不好的形式。如果您在预期POST时收到GET,则可能需要发出错误信号。通常,GET保留用于查看,POST保留用于进行更改(创建/更新/删除操作)。这是否真的是一个问题取决于您的应用程序。

GET['page'] (for GET requests)

在PHP中,您可以从特殊的全局数组中获取请求变量:

<*>

听起来你正在寻找“后发后重定向”,我建议将display.php和vote.php分成单独的文件。投票看起来像这样:

<*>

请注意,盲目接受未经过抽样处理的表单数据可能会对您的应用程序造成危害。

编辑:有些人认为使用$ _REQUEST处理这两种情况都是不好的形式。如果您在预期POST时收到GET,则可能需要发出错误信号。通常,GET保留用于查看,POST保留用于进行更改(创建/更新/删除操作)。这是否真的是一个问题取决于您的应用程序。

POST['page'] (for POST requests)

在PHP中,您可以从特殊的全局数组中获取请求变量:

<*>

听起来你正在寻找“后发后重定向”,我建议将display.php和vote.php分成单独的文件。投票看起来像这样:

<*>

请注意,盲目接受未经过抽样处理的表单数据可能会对您的应用程序造成危害。

编辑:有些人认为使用$ _REQUEST处理这两种情况都是不好的形式。如果您在预期POST时收到GET,则可能需要发出错误信号。通常,GET保留用于查看,POST保留用于进行更改(创建/更新/删除操作)。这是否真的是一个问题取决于您的应用程序。

REQUEST['page'] (for either)

听起来你正在寻找“后发后重定向”,我建议将display.php和vote.php分成单独的文件。投票看起来像这样:

<*>

请注意,盲目接受未经过抽样处理的表单数据可能会对您的应用程序造成危害。

编辑:有些人认为使用$ _REQUEST处理这两种情况都是不好的形式。如果您在预期POST时收到GET,则可能需要发出错误信号。通常,GET保留用于查看,POST保留用于进行更改(创建/更新/删除操作)。这是否真的是一个问题取决于您的应用程序。

是的,无论请求方法如何,GET数组始终都填充了URL参数。您可以使用这样的简单页面进行尝试:

<form action="test.php?a=b" method="post">
    <input name="a"/>
    <input type="submit"/>
</form>
<pre>
POST:
<?php print_r(

是的,无论请求方法如何,GET数组始终都填充了URL参数。您可以使用这样的简单页面进行尝试:

<*>POST); ?> GET: <?php print_r(

是的,无论请求方法如何,GET数组始终都填充了URL参数。您可以使用这样的简单页面进行尝试:

<*>GET); ?> </pre>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top