Heim > Fragen und Antworten > Hauptteil
Was ich tun möchte, ist, die Eingaben aus dem Formular beim Absenden in eine separate Textdatei zu schreiben. Bitte beachten Sie, dass dieses Formular nicht geändert werden kann.
Die Frage ist, wie speichert man die Eingaben in einer separaten TXT-Datei? Dies ist das Formular:
<form method="post"> <textarea id="name"></textarea> <textarea id="message"></textarea> <input type="submit" name="submit"> </form>
Das ist es, was ich versuche:
<?php if(isset($_POST['submit'])) { $name = $_POST['#name']; $message = $_POST['#message']; $text = $name . "," . $message . "\n"; $fp = fopen('questions.txt', 'a+'); if(fwrite($fp, $text)) { // ini_set('display_errors', 1); // ini_set('display_startup_errors', 1); // error_reporting(E_ALL); echo 'Thank you!'; } fclose ($fp); } ?>
Bitte beachten Sie, dass bei vielen Lösungen, die ich hier lese, alle Formulareingaben Namen haben (d. h. name='message'
)。不幸的是,我的表单无法更改,这就是为什么我尝试(不成功)使用 $name=$_POST['#name']
Sie möchten Eingabe-IDs verwenden (beachten Sie das #) .
Kann ich die Eingabe in einer Textdatei speichern, ohne das Formular zu ändern? Die Datei questions.txt existiert und ist beschreibbar 777.
Vielen Dank.
P粉7432884362023-09-10 17:24:38
这里有一个问题目录。
通过使用提供的 Web 开发人员工具查看浏览器发送的数据或将表单指向(例如)来检查这一点非常简单:
<pre> <?php print_r($_POST); ?> </pre>
至少在 Firefox 中,除了提交按钮之外,浏览器不会将任何数据发送回服务器。如果您无法使用表单重写 HTML 页面(或添加 Javascript),那么这将永远行不通。
暂时先把这个放在一边......
是的,但这是一个坏主意。我们使用数据库存储数据的原因有多种。
这始终是一个坏主意。允许 PHP 写入 Web 根目录中的文件也是如此。