当用户打开页面时,会有一个计数变量,该变量递增1。 count变量以及数据都写在文件中。
问题涉及未递增的会话变量。每次加载页面时,应该在会话中增加一个应该放入文件的增量。
主要思想是有一个文本框。用户只需编写文本apple现在数据与正在计数的会话变量一起保存在文件中。如果同一个用户再次在文本框中写了一些东西,它会在前面添加相同的会话ID
例如
用户第一次来到并在文本框中写字"我是作家"。
session id Text
24 I am a writer
同样的用户在文本框中写了我是首席。它应该附加相同的
session id Text
24 I am a writer I am a Chief
这是php代码
<?php
session_start();
if (isset($_SESSION["hello"]))
$_SESSION["hello"]++;
else
$_SESSION["hello"] = 1;
if (isset($_POST['submit'])) {
$txt = "abc.txt";
if (isset($_POST['field1'])) {
$fh = fopen($txt, 'a');
$a = $_SESSION["hello"];
$txt = $a . '-' . $_POST['field1'];
fwrite($fh, $txt . PHP_EOL);
fclose($fh);
}
}
echo $_SESSION["hello"];
HTML
<form action="index.php" method="POST">
<input name="field1" type="text" />
<input type="submit" name="submit" value="Save Data">
</form>
答案 0 :(得分:0)
我在debian服务器上运行你的代码,它似乎按预期增加和保存。写完东西并提交3次之后,abc.txt就像这样
cat abc.txt
2-i'm the first entry!
3-2nd line of input
4-3rd line!
您确定这不是许可问题吗?如果您使用的是Linux,请尝试输入包含index.php的目录并执行以下操作。
sudo chmod +x index.php
sudo chmod 777 .
一旦发现错误,请记住将777更改为更合理/更自由的东西(777授予任何人完全读/写/执行权限,这几乎不是生产环境中的正确选择)。