2013-03-19 188 views
1

我是新来的PHP,并有一个关于如何将信息追加到.txt文件的问题,使用带有按钮的表格type="button",附加应该是;分隔.txt文件。有人可以帮助我如何完成从表格到.txt文件的追加吗? (每次填写表格并将信息追加到.txt文件中时,应该在表格旁边创建一个列表元素并仅包含两个第一个输入元素的信息,取自.txt文件)。该形式如下:输入到txt文件,txt文件到列表元素

<?php 
    include("header.php"); 
?> 

     <form id="info" method="post" action=""> 
       <p id="formrubrik">Add information here:</p><br/> 
       <p>Title:</p> 
       <textarea class="field" id="title" name="names" rows="1" cols="20"></textarea><br/><br/> 
       <p>Grade</p> 
       <select class="field" name="grade" id="star"> 
        <option value="0">Choose grade...</option> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
        <option value="4">4</option> 
        <option value="5">5</option> 
       </select><br/><br/> 

       <p>Link:</p> 
       <textarea class="field" id="link" name="links" rows="1" cols="20"></textarea><br/><br/> 

       <p>Photo link:</p> 
       <textarea class="field" id="picture" name="photo" rows="1" cols="20"></textarea><br/><br/> 

       <p>Description:</p> 
       <textarea class="field" id="handling" name="description" rows="3" cols="20"></textarea><br/><br/> 

       <button value="0" id="add" type="submit">Save</button><br/> 

      </form> 

      <div id="list_elements"> 

       <ul id="elements"> 
       </ul> 

      </div> 

<?php 
    include("footer.php"); 
?> 

回答

2

太多事情不对您的形式

A. no形式行动action="yourfile.php"

B. button类型设置button代替submit

C.没有验证

D.不检查数据是否在尝试之前发布克至写

太多的事情是错误的,为什么你不开始学习PHP的基本原则,以数据附加到文件可以简单用file_put_contents来完成:

file_put_contents($myFile, $data . PHP_EOL, FILE_APPEND); 
+0

好的,只需要一些方向在做什么使表格与PHP工作,感谢反馈无论如何 – spovell 2013-03-19 23:43:35

+0

我应该改变C?验证是什么意思? – spovell 2013-03-19 23:45:24

+0

如果'name'是空的呢?你会像这样保存吗? – Baba 2013-03-19 23:46:17

1

这里是一个小表格将您发布的数据提交到文本文件中,通过将它们与;分开,但与您的要求不同,我使用type='submit'而不是..='button'作为,我一直认为按钮 do not完全使用PHP将数据提交到表单中。

<?php 

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


    $myFile = "example.txt"; 
    $fh = fopen($myFile, 'a') or die("can't open file"); 
    $stringData = $_POST['button']. ' ; '; 
    fwrite($fh, $stringData); 

    fclose($fh); 

} 

如果你想检查用户是否提交数据或没有,你可以用这个例子。

<?php 

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

    $data = $_POST['info']; 

    if(!empty($date) && isset($date)) 
    { $myFile = "example.txt"; 
    $fh = fopen($myFile, 'a') or die("can't open file"); 

    fwrite($fh, $stringData); 
    fclose($fh); 

    } else { 
    echo 'the data you have entered is empty, please enter again.'; 
    } 
+0

谢谢,请看看,您可能是对的,该按钮需要是type =“submit” – spovell 2013-03-19 23:55:08

+0

我想你知道,如何检查用户是否提交了空值,这就是为什么我没有包含它。但是,是的,提交类型总是需要的。最后,如果你发现这个答案有帮助,你应该将它标记为已接受/ upvote – samayo 2013-03-19 23:58:22

+0

我检查如果表单没有正确填写在javscript中,所以如果一切都没有填写,就不可能发送...不能将它标记为upvote,因为我前两天加入了stackoverflow,并且在它可能之前你需要15个信誉,但是当我测试了一些并阅读了一些更多时,也许它会被接受:) – spovell 2013-03-20 00:10:46