2013-03-19 186 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