2014-02-26 152 views
0

感謝您的幫助。 程序的對象。
file.php有一個窗體和下面的代碼。 names.txt是將填充文本字段中輸入的名稱以及用戶單擊提交時的文件。php fopen()不會創建文件

一個人將他們的名字輸入到表單域並點擊提交。 將名稱輸入到名爲names.txt的文件中

問題。該file.php程序的作品。
窗體顯示在瀏覽器中,並在瀏覽器中顯示測試「回聲」。 但是,即使我在文本框中輸入 的名稱並單擊提交,names.txt字段中也沒有任何數據。

file.php 
if (isset($_POST['name'])) { 

    $name = $_POST['name']; 
    if (!empty($name)) { 
     //echo 'okay'; 

     $handle = fopen('names.txt', 'w'); 
     fwrite($handle, $'alex'); 
     fwrite($handle, $'kyle'); 
     fclose($handle); 

    }else{ 
     echo 'please type a name'; 

?> 

<form input type ="text" name ="file.php" method ="POST" > 
    Name: <br><input type ="text" name ="name"><br><br> 
    <input type="submit" name ="submit" value ="Submit"> 
</form> 

回答

1

$'alex' 

並不意味着 「在它的名字亞歷克斯變量」。如果你想寫字符串'alex',你需要。

fwrite($handle, 'alex'); 
+0

對不起 - 我一直在這一整天。錯字。你們三人立即迴應並表示感謝。你能否在我的文件結構中用問號圖標閱讀這個問題。我認爲這與它有關。謝謝 – iHaveAQuestion

1

變量$'alex'$'kyle'不存在。試試這個:

$handle = fopen('names.txt', 'w'); 
fwrite($handle, $name . "\n"); 
fclose($handle); 
+0

謝謝山姆。我通過代碼修改了上述內容。當我輸入localhost/phpWithAlex/names.txt時仍然沒有輸出。你有沒有看到我對我的文件結構發生的奇怪事情的評論。許多小時試圖找出什麼可能是一個簡單的修復,但我是新來的PHP,雖然不編程等 – iHaveAQuestion

1

您是有幾個問題在這裏,你打開以模式w使用FOPEN文件,這基本上將打開寫入模式文件,在文件的開頭,然後截斷放置一個指針ifile。

你應該使用使用a+,這將打開文件,如果需要創建它,並將指針放在文件的末尾。

下一個大問題是使用以下行

fwrite($handle, $'alex'); 
fwrite($handle, $'kyle'); 

通過你的描述你的,你應該使用

fwrite($handle, $name); 

另一個小問題是同時使用isset和空你的,你可以只使用空因爲那樣做內部isset檢查以及

請嘗試以下內容:

if (!empty($_POST['name'])) 
{ 
    $handle = fopen('names.txt', 'a+'); 
    fwrite($handle, $_POST['name']); 
    fclose($handle); 
} 
else 
{ 
    echo 'please type a name'; 
    ?> 
    <form input type ="text" name ="file.php" method ="POST" > 
     Name: <br><input type ="text" name ="name"><br><br> 
     <input type="submit" name ="submit" value ="Submit"> 
    </form> 
+0

謝謝羅伯特。我現在要修改代碼。你有道理。有沒有辦法添加屏幕截圖?不知何故,當我在編寫這段代碼時,我認爲是一個相當嚴重的問題。在URL:localhost /我現在有一個4個文件夾的目錄樹。其中一個名爲phpWithAlex的地方,我保存了我所有的練習程序代碼。當我點擊phpWithAlex(其中file.php和names.txt所在的位置)時,所有文件夾的左邊都有一個問號標記。 :( – iHaveAQuestion

+0

你在運行Linux? – RobertPitt

+0

我希望我是。在Macbookpro上使用終端(unix命令)。安裝了apache phpMyAdmin和mySQL。看在http.conf文件等我是一名程序員,但我只是現在學習PHP。我重新啓動了Apache,但沒有解決問題。 – iHaveAQuestion