首页 > 解决方案 > 如何在文件中保存多个表单输入

问题描述

html

<html>
<head>
    <meta charset="utf-8">
</head>
<form class="contact-form" action="contact-form.php" method="post">
    <input type="text" name="name" placeholder="Full Name">
    <br>
    <input type="text" name="subject" placeholder="Subject">
    <br>
    <input type="text" name="mail" placeholder="E-Mail">
    <br>
    <textarea name="message" placeholder="Message"></textarea>
    <br>
    <button type="submit" name="submit">Submit</button>
</form>
</html>

联系表格.php

<?php

if (isset($_POST['submit'])) {

    $name = $_POST['name'];
    $subject = $_POST['subject'];
    $mailFrom = $_POST['mail'];
    $message = $_POST['message'];
    $data=$_POST["name, subject, mail, message"];
    $fp = fopen("data.txt", "a");
    fwrite($fp, $data);
    fclose($fp);
}
?>

如果我把

    $data=$_POST["name"];

它有效,但我想保存多个输入。似乎无法让它工作:(如果我把所有东西都放在彼此之下,它只会保存最后一个输入。

标签: phphtml

解决方案


更改此行:

$data=$_POST["name, subject, mail, message"];

至:

$data = $_POST["name"] . $_POST["mail"] . $_POST["subject"] . $_POST["message"];

您还可以连接一些空格来分隔数据:

$data = $_POST["name"] . " " . $_POST["mail"] . " " . $_POST["subject"] . " " . $_POST["message"];

您需要连接$_POST单个变量内的所有值。$_POST就像一个数组一样工作,你不能像以前那样获取多个数组值。

您可以在此处获得有关数组的一些其他信息:)


推荐阅读