表单提交后刷新页面上的值

时间:2013-01-13 05:19:09

标签: php html

因此,为了大大简化这一点,我没有使用我的实际代码,只是试图传达我正在尝试做的事情,这是有更多的数据。假设我有一个带有1值的外部文本文件,该值为100.我使用

$data=file('text.txt'); 

引入该值并将其显示在页面上。

echo "<p> Amount: $data[0] </p>";

然后我有一个表单提交按钮,当我单击它时会减小该值并通过显示99来修改文本文件。当我单击提交时,我有一个print_r($ data),显示存储在99中的修改后的值99文本文件,但页面仍然显示100.该值仅在我完全刷新页面后更新,我希望它更新到我点击提交时的值。我希望这是有道理的,我会尽力澄清。

编辑: 我的表单操作只是当前页面是index.php

<form action='index.php' method='POST'>

3 个答案:

答案 0 :(得分:0)

使用您提供的信息来解决您的问题,当页面提交时,您可以再次从txt文件中检索数据并在页面中显示它。如果你有一个提交按钮,它显然会刷新页面。所以不会有问题。

答案 1 :(得分:0)

一旦加载页面,PHP就完成了它的工作。

在您的情况下,只有在页面本身刷新后,新值才会显示在页面上。如果不刷新页面,就无法更改显示。

如果您想以交互方式更改显示文本的值而不刷新页面本身,则必须使用Javascript。


...但是如果显示的值即使在您提交后也未更新(并且仅在您点击刷新后更新),则在更新文本文件之前可能会调用echo

答案 2 :(得分:0)

您似乎已经可以成功更新文件,但无法在页面上重新显示该值...一旦页面刷新,它应该重新获取值并将新值放入您的字段中。如果你想在没有刷新的情况下这样做,你可以使用AJAX这样做:

<script type="text/javascript">
function changeText(){
        var newint = <?php echo $data[0]; ?>;
    document.getElementById('newvalue').innerHTML = newint;
}
</script>
<p id='newvalue'></p> 
<input type='button' onclick='changeText()' value='Change Text'/>