【问题标题】:What's wrong with me PHP code to get form values into text file? [duplicate]我的 PHP 代码将表单值放入文本文件有什么问题? [复制]
【发布时间】:2020-08-03 13:14:24
【问题描述】:

这是表格:

<form>
    <form action="" method="post">
    <input type="text" id="name" name="name" placeholder="Name">
    <input type="text" id="message" name="message" 
placeholder="Grateful for?">
    <br>
    <br>
    <input type=submit value="&#10086;">
    <input type="reset" value="&#x2716;">
</form>

代码如下:

<?php
if(isset($_POST['submit'])){
$Name = $_POST['name'];
$Message = $_POST['message'];
$file = fopen("post.txt", "a");
fwrite($file, $Name, $Message);

fclose($file);

}
?>

Form 要求输入一个“名称”和一个简短的“消息”,这些值应该在 PHP $_POST 超全局中可用。对于与 $_POST 变量关联的“$Name”或“Message”变量,我的语法是否正确?

$file 变量看起来正确设置为我的 post.txt,我是否为 fwrite 和 fclose 写出正确的语法?

【问题讨论】:

  • 什么是&lt;form&gt; &lt;form ...???
  • 标签?你在问什么?
  • 两个表单标签?
  • Ya
    打开表单并
    关闭它。
  • 没有。您的前两个标签都是表单标签。

标签: php html forms


【解决方案1】:

为了接收$_POST['submit'],您需要有一个带有name="submit" 的字段。

您可以将该名称设置为您的提交按钮:

<input name="submit" type="submit" value="&#10086;">

另外,请记住fwrite() 具有以下签名:

fwrite ( resource $handle , string $string [, int $length ] ) : int

您可以使用file_put_contents() 简化您的代码:

file_put_contents('post.txt', "$Name\n$Message\n", FILE_APPEND);

我假设您希望在文件中用换行符分隔您的姓名和消息,并且您希望追加到文件中。

【讨论】:

  • 对,更棘手的是让名字加粗和消息规则
  • 您是在该文件中存储多个帖子还是只存储一个?
  • 每个帖子都在那个文件中
  • 那么追加看起来是个好主意,因为保存会很快。但请记住,如果有人在消息中添加了换行符,则检索数据可能会变得棘手(或不可能),因为您不再知道每个帖子在文件中的结束位置。
  • 是的,我还可以选择让每个帖子都有自己的文件。我还想要一个 CSS 线条边框和浅灰色填充来区分帖子。
猜你喜欢
  • 1970-01-01
  • 2018-10-10
  • 2018-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多