提交按钮只保存一个输入框

Submit Button only saves one input box

我正在尝试从输入框中收集数据,但提交按钮仅适用于一个文本框。有没有简单的方法来解决这个问题?代码:

<?php
              
if(isset($_POST['textdata']))
{
$data=$_POST['textdata'];
$fp = fopen('data.txt', 'a');
fwrite($fp, $data);
fclose($fp);
}
?>

<!DOCTYPE html>
<html>
<head>
  <link rel="shortcut icon" href="/favicon.ico" />
  <title>Yeet!</title>
  <style>
    html {
        background-color: #181818;
    }
    body {
        color: lightgray;
        text-align: center;
        font-family: monospace;
    }
  </style>
</head>
<body>
  <form method="post">
    <br>
    <input type="text" name="textdata"><br>
    <br>
    <input type="text" name="textdata"><br>
    <br>
    <input type="text" name="textdata"><br>
    <br>
    <input type="text" name="textdata"><br>
    <br>
    <input type="text" name="textdata"><br>
    <input type="submit" name="submit">
  </form>
</body>
</html>

我只是不想让我的所有文本框都有提交按钮。提前致谢!

每个 <input> 都应该有一个唯一的名称:

<input type="text" name="textdata_a"><br>
<br>
<input type="text" name="textdata_b"><br>

$_POST 将包含所有这些键,用户输入的值为:

$textdataA = $_POST['textdata_a'];
$textdataB = $_POST['textdata_b'];

您的输入都具有相同的名称,这就是浏览器实际上只传输其中一个的原因。

<input type="text" name="textdata">
<input type="text" name="textdata">

给它们不同的名称并在 PHP 端以这种方式访问​​它们:

<input type="text" name="firstline">
<input type="text" name="secondline">

在PHP中:

$_POST['firstline']; // will contain the data of the first input-element
$_POST['secondline']; // will contain the data of the secondinput-element
// and so on...

如果您需要无限数量的输入字段,您也可以使用数组:

<input type="text" name="mytextdata[]">
<input type="text" name="mytextdata[]">

在PHP中:

$_POST['mytextdata']; // will contain the data of ALL the input fields as an array

您可以(例如)像这样将它们合并在一起:

$dataOfAllInputs = implode(PHP_EOL, $_POST['mytextdata']);

但是,对于这种情况,使用 textarea HTML element 可能更合理。