【问题标题】:sending all $_POST[] value to "nextpage."将所有 $_POST[] 值发送到“下一页”。
【发布时间】:2012-11-19 23:22:12
【问题描述】:

假设我在这里使用表单方法 POST 有很多值

$_POST["value1"]
$_POST["value2"]
$_POST["value3"]
$_POST["value4"]
$_POST["value5"]
$_POST["value6"]
$_POST["value7"]

我想将它们发送到 nextpage.php

任何功能可以做到这一点?除了使用

<form method="POST" action="nextpage.php">
<input type="hidden" name="value1"  value="value1 />
</form>

【问题讨论】:

  • “下一页 php”是什么意思?你想从 PHP 发送一个 POST 吗?使用卷曲。还是您的意思是提交当前页面上的表单时?在这种情况下,只需像你一样在输入标签中设置那些 $_POST['value'] ,这将是最好的方法。

标签: php html forms post input


【解决方案1】:

为了将帖子值传递到下一页,请将完整的 $_POST 超全局数组变量存储到 session 中,然后在下一页您可以使用 $_SESSION 变量访问这些值

或者,您可以使用 curl 使用 POST 方法将 HTTP 请求发送到下一页 然后可以使用下一页上的 $_POST 变量访问这些变量

请参考下面的代码sn-p作为通过curl使用post方法发送HTTP请求的示例

        $url='http://203.114.240.77/paynetz/epi/fts';
 $data = array('login' => '11','pass' => 'Test@123','ttype'  =>'NBFundTransfer','prodid'=>'NSE','amt'=>50,'txncurr'=>'INR','txnscamt'=>0,'clientcode'=>007,'txnid'=>uniqid(),'date'=>date('d/m/Y H:i:s'),'custacc'=>'123456789');
      $datastring = http_build_query($data);
     //die($url.'?'.$datastring);
      $ch=curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_TIMEOUT, 180);
     curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $datastring);
     $output = curl_exec($ch);
      //echo $output; die;
    curl_close($ch);

【讨论】:

    【解决方案2】:

    将您的所有值存储在$_SESSION 中并在下一页中使用它,或者您可以使用这些值创建URL 并将您的页面重定向到nextpage.php

    【讨论】:

      【解决方案3】:

      无会话通过

      如果没有安全问题并且您的帖子数据包含搜索参数之类的内容。比如$_POST

      array('query'=>'keyword', 'orderby' => 'name', 'range' => '4-10' )
      

      您可以使用 http_build_query 从该数据生成查询字符串,并创建锚标记供用户单击并将该数据与 url 一起传递到下一页。

      $url = 'nextpage.php?' . http_build_query($_POST);
      

      它会生成一个类似nextpage.php?query=keyword&amp;orderby=name&amp;range=4-10的url,你可以在html锚标签中使用它,在下一页你可以从$_GET获取它。

      使用会话

      或者,您已经可以选择将其存储在 $_SESSION 中,并在使用销毁 session 后,以保持您的网站性能。

      【讨论】:

        【解决方案4】:

        使用此代码。

        <!DOCTYPE HTML>
        <html>
        <head>
        <title>First page</title>
        </head>
        <body onload="document.getElementById('send').submit()">
        
        <form id="send" action="next_page.php" style="display: none;">
        <?PHP
        foreach($_POST as $key => $val)
        {
            echo '<input type="hidden" name="'.$key.'" value="'.$val.'" />';
        }
        ?>
        </form>
        
        </body>
        </html>
        

        【讨论】:

        • @itachi 这取决于 OP
        【解决方案5】:

        您可以使用Sessioncookie访问其他页面

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-10
          • 1970-01-01
          • 2012-11-12
          • 1970-01-01
          • 1970-01-01
          • 2012-09-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多