提交表单并写入多个表单字段的文件

时间:2014-06-16 23:04:47

标签: php html forms input

我有一个表单的代码,用于编写" email"将用户放入我服务器的.txt文件中。

以下是我想要做的一些事情:让表单包含多个变量(例如,一行到#34;名称"另一行到"电子邮件"),放在"输入"之前用.txt前缀写表。文本,并使输出.txt文件在每个变量的内容之间有换行符。

这是我目前的代码

<?php
if(isset($_POST['submit']))
{
   $email = $_POST['email'];
   $file = fopen("emaillist.txt","a+");
   fwrite($file,$email);
   fclose($file); 
   print_r(error_get_last());
}
?>
<form action= "" method="post" name="form">
   Email:
   <input type="email" name="email">
   <br>
   <br>
   <input type="submit" name="submit" value="submit">
   <br>
</form>
你能帮帮我吗?谢谢大家。

2 个答案:

答案 0 :(得分:2)

您可以向表单添加其他输入。在您的代码中,您有<input type="email" name="email">个电子邮件地址。只需为名称添加<input type="text" name="name">即可。字段的名称(name="xxx")是您可以在$_POST['xxx']中使用PHP获取另一行信息的密钥。

我是否理解了您的问题&#34;如何在#t;输入&#34;之前将表格写入.txt前缀中?文本&#34?;更正你想在你的文件中输出一个输出,例如&#34;电子邮件:x @ x.x&#34;?

要添加换行符,您可以编写&#34; \ n&#34; (如果您使用Windows系统,请在字符串中使用&#34; \ r \ n&#34;)。

您可以使用file_put_contents()代替fopen(),fwrite()和fclose(),这使您的代码更容易阅读。

您可以尝试以下代码:

<?php
if(isset($_POST['submit']))
{
  $name = $_POST['name'];
  $email = $_POST['email'];
  $new_content = "\r\nName: " . $name;
  $new_content .= "\r\nEmail: " . $email;
  file_put_contents('emaillist.txt', $new_content, FILE_APPEND);
  print_r(error_get_last());
}
?>
<form action="" method="post" name="form">
  Name:
  <input type="text" name="name"><br>
  Email:
  <input type="email" name="email">
  <br>
  <br>
  <input type="submit" name="submit" value="submit"><br>
</form>

答案 1 :(得分:1)

请尝试使用以下代码。

<?php
    if(isset($_POST['submit']))
    {
    $email = $_POST['email'];
    $name=$_POST['name'];
    $variable = $name ." ". $email.  PHP_EOL;
    $file = fopen("emaillist.txt","a+");
    fwrite($file,$variable);
    fclose($file); 
    print_r(error_get_last());
    }
    ?>
    <form action= "" method="post" name="form">
    Email:
    <input type="email" name="email">
    <br>
    Name:
    <input type="name" name="name">
    <br>
    <br>
    <input type="submit" name="submit" value="submit"><br>
    </form>