将POST传递到两页?

时间:2015-01-06 19:49:47

标签: php html post

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

Form.html

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

post.php中

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

process.php

在此页面上,&#34;文字&#34;需要从form.html输入。

我现在的问题是,如何通过process.php传递输入帖子而不丢失它?

我不想使用process.php?var=text_variable,因为我的输入可以是一个大的html文本,由CKeditor插件(一个类似文字的文本编辑器)格式化,并会产生类似process.php?var=<html><table><td>customtext</td>...... < / p>

我怎样才能解决这个问题?

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

3 个答案:

答案 0 :(得分:1)

使用$_SESSION或包含process.php和预定义的var调用帖子。

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

Process.php有echo $var;,或者你可以在process.php中编写一个函数,你可以传递给var

答案 1 :(得分:1)

如果您不想使用$ _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是最简单的方法。

答案 2 :(得分:0)

也许文档可以提供帮助: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;
}

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