将开机自检传递到两页


Pass POST over to two pages?

我有以下页面(仅限代码片段)

形式.html

<form method="post" action="post.php">
<input type="text" name="text" placeholder="enter your custom text />
<input type="submit">
</form

后.php

....
some code here
....
header('Location: process.php');

过程.php

在此页面上,需要来自form.html的"文本"输入。

我的问题是,我如何通过流程传递第一页的输入帖子.php而不会丢失它?

我不想使用process.php?var=text_variable因为我的输入可以是大型 HTML 文本,由 CKeditor 插件(类似单词的文本编辑器)格式化,并会导致类似这样的process.php?var=<html><table><td>customtext</td>......

如何解决此问题?

如果可能的话,我想要一个纯粹的php解决方案并避免js,jquery。

如果您不想使用 $_SESSION,您还可以在页面中制作表单,然后将数据发送到下一页

<form method="POST" id="toprocess" action="process.php">
    <input type="hidden" name="text" value="<?php echo $_POST["text"]; ?>" />
</form>
<script>
document.getElementById("toprocess").submit();
</script>

或者,您可以将表单部分提交到移动到另一页的任何结果。

话虽如此,使用 _SESSION 美元是最简单的方法。

要么

使用$_SESSION要么包含进程.php预定义的var调用帖子。

$var = $_POST['postvar'];
include process.php;

进程.php有echo $var;或者你可以将一个函数写入进程.php你可以var传递给它。

也许文档可以提供帮助:http://php.net/manual/fr/httprequest.send.php

特别是示例#2:

$r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
try {
    echo $r->send()->getBody();
} catch (HttpException $ex) {
    echo $ex;
}

但我不会在会议可能且更容易的情况下使用这种沉重的方式,请参阅以前的答案/评论。例如,如果您想调用等待后数据的预先存在的脚本,如果您不能(或不想)修改被调用的脚本,这是可以的。或者,如果没有可能的会话(例如跨域调用)。