0

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

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

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

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

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

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

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

3 回答 3

0

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

于 2013-01-13T05:24:03.087 回答
0

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

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

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


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

于 2013-01-13T05:25:29.527 回答
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'/>
于 2013-01-13T05:26:43.520 回答