如何解决Submit Button 只保存一个输入框
我正在尝试从输入框中收集数据,但提交按钮仅适用于一个文本框。有没有简单的方法来解决这个问题?代码:
<?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 可能更合理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。