我正在尝试从文本文件“ msg.txt”读取的页面“前端页面”中创建一个滚动文本框
<div class="scroll-slow">
<?php echo file_get_contents('../msg.txt'); ?>
</div>
我添加了以下代码以在后端添加文本框和保存按钮:
<html>
<head>
<title></title>
</head>
<body>
<form action="msg.txt" method="POST">
<input name="field1" type="text" />
<input type="submit" name="submit" value="Save">
</form>
</body>
</html>
<?php
if(isset($_POST['field1'])) {
$data = $_POST['field1'] . "\n";
$ret = file_put_contents('../msg.txt', $data, FILE_APPEND | LOCK_EX);
if($ret === false) {
die('There was an error writing this file');
} else {
echo "$ret bytes written to file";
}
} else {
die('no post data to process');
}?>
我还在我的根目录中包含了一个名为“ msg.txt”的txt文件,通过“保存”按钮将文本保存到文件中,然后滚动的msg框将读取该文件
我的问题是:
我在做什么错了? 对不起,我知道那是一团糟,但我正在尝试学习。
答案 0 :(得分:2)
您必须将action
标记设为空白才能执行if语句内部的PHP
代码
更改
action="msg.txt"
到
action=""
如果您要对PH
进行编码,则应使用action
标签中的php文件,不能对txt
文件执行任何操作。
要将文本每次附加到现有文件中,请使用
$txt = "This is text";
$myfile = file_put_contents('text_file.txt', $txt.PHP_EOL , FILE_APPEND | LOCK_EX);
答案 1 :(得分:1)
在这里您可以使用jquery和ajax获取文本的激活值
$.ajax({
url: "backendFile.php",
type: "post",
data: {
text: $("input[name='field1']").val()
},
success: (e) => {
$(".scroll-slow").html(e)
}
}
您的backendFile.php
<?php
if(isset($_POST['field1'])) {
$data = $_POST['field1'] . "\n";
$ret = file_put_contents('../msg.txt', $data, FILE_APPEND | LOCK_EX);
if($ret === false) {
die('There was an error writing this file');
} else {
echo "$ret bytes written to file\n".file_get_contents("../msg.txt");
}
} else {
die('no post data to process');
}
?>
答案 2 :(得分:0)
您正在将表单数据提交到文本文件,文本文件将无法处理表单数据。
您需要将数据发送到php文件,在这种情况下,只需从form标签中删除操作即可。