繁体   English   中英

如何将表发布到PHP并将其另存为文本文件

[英]How to POST a table to PHP and save it as a text file

我有以下程序用于表单数据。 我有用于输入值的文本框。 当我单击“提交”输入这些内容后,它应该在下面显示输入值,并且文本框应该重置。 我可以输入另一组输入并提交。 它应该显示在前一个下方。 现在这是我面临的实际问题。 有一个保存按钮。 当我单击它时,应该使用PHP将表输入保存到我的PC中。但是它不起作用。 而不是保存文件,而是在下面添加另一行。

以下是我的html和PHP代码。 请帮忙..!

的HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Form download</title>
<script type="text/javascript" src="jquery-2.1.4.js"></script>
<style>
.results {
    width: 600px;
    margin-top: 30px;
    text-align: center;
    border: 1px solid #999;
}
</style>
</head>
<body>
<form name="form"  method="POST" action="excel.php" > 
  <table>
    <tr>
      <td style="text-align:left">Option 1</td>
      <td><input type="text" id="text" name="option1" size="20"></td>

      <td style="text-align:left">Option 2</td>
      <td><input type="text" id="text" name="option2" size="20"></td>
     </tr>

      </table>
  <br/>
  <input type="submit" value="save" >
  <div class="buttonHolder">
 <input type="submit" name="submit" value="submit" onClick="insertData()" id="btn_s" />
        <input value="reset" type="reset" id="btn_i" /> 
    </div>

</form> 
    <script>

$(function insertData() {
  $('form[name="form"]').submit(function(e) {
  e.preventDefault();

         var name  = $('input[name="option1"]').val(),
         sName = $('input[name="option2"]').val();

       $('body').append('<table class="results">'
                          +'<tr>'
                            +'<th>Option 1</th>'
                            +'<th>Option 2</th>'

                          +'</tr>'
                          +'<tr>' 
                            +'<td>'+name+'</td>'
                            +'<td>'+sName+'</td>'
                               +'</tr>'

                    + '</table>');
  // $('input[type="reset"]').click(function() {
    //  ($('#text').val()).remove(); 
   });
     });
</script>

</body>
</html>

的PHP

 <?php

$myfile = fopen("newFile.txt", "w") or die("Unable to open file!");
$txt= 'Option 1 ' ."\t" .'Option 2 ' ."\r\n" 
 .$_POST['option1'] ."\t"  .$_POST['option2']."\r\n" 
.$_POST['option3'] ."\t" .$_POST['option4'] ."\r\n".$_POST['option5'] ."\t" .$_POST['option6'] ."\r\n"  ;
fwrite($myfile, $txt);
fclose($myfile);
?>

请帮助..我被困了两天..

这样可能会更容易:

$header = "Option 1 \t  Option 2\n";  
file_put_contents("newFile.txt", $header, FILE_APPEND );
foreach($_POST as $key => $value) {
  file_put_contents("newFile.txt", $value."\n", FILE_APPEND );
}

在HTML中,您需要将“提交”按钮的类型从“提交”更改为“按钮”。 并将您的脚本更改为-

$(function insertData() {
     $('#btn_s').on('click', function(e) {

     var name  = $('input[name="option1"]').val(),
     sName = $('input[name="option2"]').val();

   $('body').append('<table class="results">'
                      +'<tr>'
                        +'<th>Option 1</th>'
                        +'<th>Option 2</th>'

                      +'</tr>'
                      +'<tr>' 
                        +'<td>'+name+'</td>'
                        +'<td>'+sName+'</td>'
                           +'</tr>'

                + '</table>');
   // $('input[type="reset"]').click(function() {
   //  ($('#text').val()).remove(); 
   });
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM