我有以下页面(仅限代码片段)
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,如果可能的话。
答案 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;
}
但我不会使用这种重要的方式,会议可能会更容易,请参阅以前的答案/评论。 例如,如果您想要调用等待后期数据的预先存在的脚本,如果您不能(或不想)修改被调用的脚本,则这是可以的。或者,如果没有可能的会话(例如跨域调用)。