2016-03-05 25 views
0

當用戶打開頁面時,會出現一個計數變量,該變量將遞增1。計數變量以及數據都寫入文件中。如何在php中追加文件編號爲

問題涉及到不增量的會話變量。每次頁面加載時,應該在會話中增加一個應該放入文件的增量。

主要思想是有一個文本框。用戶只是寫文本蘋果現在數據保存在文件以及計數的會話變量中。如果同一用戶再次在文本框中寫一些東西,將追加之前與相同的會話ID

例如

用戶第一次來,在文本框「我是作家」寫的。

session id  Text 
24   I am a writer 

再次在文本框中相同的用戶寫我是負責人。它應該具有相同

session id  Text 
24   I am a writer I am a Chief 

追加這是PHP代碼

<?php 
session_start(); 


if (isset($_SESSION["hello"])) 
    $_SESSION["hello"]++; 
else 
    $_SESSION["hello"] = 1; 

if (isset($_POST['submit'])) { 
    $txt = "abc.txt"; 
    if (isset($_POST['field1'])) { 
     $fh = fopen($txt, 'a'); 
     $a = $_SESSION["hello"]; 
     $txt = $a . '-' . $_POST['field1']; 

     fwrite($fh, $txt . PHP_EOL); 
     fclose($fh); 

    } 
} 

echo $_SESSION["hello"]; 

HTML

<form action="index.php" method="POST"> 
    <input name="field1" type="text" /> 
    <input type="submit" name="submit" value="Save Data"> 
</form> 
+0

你確定計數器沒有遞增嗎?它適用於我...你可以顯示你在文件「abc.txt」中得到什麼? – trincot

回答

0

我跑了Debian的服務器上的代碼,它似乎增加並保存爲預期。寫完東西並提交3次後,abc.txt看起來像這樣

cat abc.txt 
2-i'm the first entry! 
3-2nd line of input 
4-3rd line! 

您確定這不是一個權限問題嗎?如果您在Linux上,請嘗試輸入包含index.php的目錄並執行以下操作。

sudo chmod +x index.php 
sudo chmod 777 . 

記住更改777會更合理/更少的自由,一旦你找到了這個錯誤(777補助完全讀/寫/執行權限的任何人幾乎是從來沒有在生產環境中正確的選擇)。 。