如何保存表单发布到会话并保持在相同的HTML页面?

时间:2015-12-27 19:54:40

标签: php html forms session post

我在html中有一个表单,将收入发布到incomesave.php,其中会话已启动,并将所有表单内容保存到会话中。

问题是我希望在提交表单时保持同一页面,同时将数据保存到会话并使用该会话值填充同一页面上的收入历史记录。如何使用php停留在同一页面并处理数据?

这是html中的表格:

<form action="lib/php/incomesave.php" method="post">
  $: <input type="number" name="price">
  type: <input type="text" name="source" >
  <input type="submit" value="Submit">
</form>
<div class="row">
    <div class="twelve columns">
    <div class="title">
        Income history
    </div>

    <div id="incomehistory">
    </div>

    </div>
</div>

这是保存表单数据的incomesave.php

<?php
session_start();

$price = $_POST['price'];
$source = $_POST['source'];
$_SESSION['price'] = $price;
$_SESSION['source'] = $source;

echo $_SESSION['price']; // print price 
echo $_SESSION['source'];
?>

我希望保持同一页面,运行incomesave.php并使用$_SESSION数据填充html页面的收入历史记录区域。我怎样才能做到这一点?任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:0)

将AJAX requet提交给服务器并使用结果修改DOM。

xhttp.open("GET", "incomesave.php", false);
xhttp.send();
document.getElementById("incomehistory").innerHTML = xhttp.responseText;

答案 1 :(得分:0)

使用ajax发布数据表单而不更改页面,在ajax调用之后,将数据保存在incomesave.php中,然后使用callback或success方法使用.innerHTML更改html

感谢所有评论,以便得出答案!

答案 2 :(得分:-2)

如果您不想刷新页面,则必须使用ajax来完成此操作。我不会发布代码示例,因为我不知道你对ajax帖子的熟悉程度。 对ajax发布和结果处理进行研究。如果您熟悉ajax帖子,请告诉我,以便我可以做一些代码示例..

如果您只想留在同一页面上,请查看我之前在会话中发布的答案

Simple session example not working

答案 3 :(得分:-2)

如果您设置表单操作,它会将您重定向到操作网页。在该页面上,您初始化所有会话数据,然后使用标题

将其重定向到同一页面
header('URL');

url将是html page url。