2016-12-13 89 views
0

目前我使用下面的代碼格式。無法使用PHP將表單寫入txt文件

<form action="/wp-content/themes/wallstreet/welcome.php" method="post" class="basic-grey"> 
<h1>BasicForm 
    <span>Please fill all the texts in the fields.</span> 
</h1> 
<label> 
    <span>Your Nickname* :</span> 
    <input id="name" type="text" name="name" placeholder="It will appear in the file" /> 
</label> 

<label> 
    <span>Your Email* :</span> 
    <input id="email" type="email" name="email" placeholder="Valid Email Address" /> 
</label> 

<label> 
    <span>Message* :</span> 
    <textarea id="message" name="message" placeholder="The text that will appear in the file"></textarea> 
</label> 
<label> 
    <span>Code* :</span> 
    <input id="code" type="text" name="email" placeholder="The Code That we sent to your email" /> 
</label>  
<label> 
    <span>&nbsp;</span> 
    <input type="submit" class="button" value="Send" /> 
</label>  
</form> 

和我有下面的代碼的PHP文件的welcome.php同一目錄下(我想這個形式寫的「消息」 ..

<?php 
    $var = $_POST['message']; 
    file_put_contents("/wp-content/themes/wallstreet/data.txt", $var . "\n", FILE_APPEND); 
    exit(); 
?> 

是的,我有一個文件在同一個目錄中叫做data.txt 所有這些文件都在同一個目錄下,我真的不知道這個問題是什麼,因爲它沒有寫任何東西,我已經給了data.txt的所有權限 也許我是錯寫了路徑?一切都分配在一臺主機上..

+0

應該'<輸入ID =「代碼「type =」text「name =」email「'而不是'

+0

我嚴重懷疑這個路徑是'/ wp-content/themes/wallstreet/data.txt',更可能是'$ _SERVER ['DOCUMENT_ROOT']。 「/wp-content/themes/wallstreet/data.txt」' – jeroen

+0

是的,但它現在不重要,我不想將該信息寫入文件。它只是裝飾。不過謝謝你的建議 – romanturbo

回答

0

這個問題似乎與您的data.txt文件的路徑。

file_put_contents("/wp-content/themes/wallstreet/data.txt", $var . "\n", FILE_APPEND); 

變成

file_put_contents("data.txt", $var . "\n", FILE_APPEND); 

注意:你必須有權限對文件編寫。

更新1

你可以把文件的絕對路徑。

file_put_contents($_SERVER['DOCUMENT_ROOT']."/wp-content/themes/wallstreet/data.txt", $var . "\n", FILE_APPEND); 

您還可以添加檢查文件是否存在。

if(file_exists($_SERVER['DOCUMENT_ROOT']."/wp-content/themes/wallstreet/data.txt")) 
{ 
    file_put_contents($_SERVER['DOCUMENT_ROOT']."/wp-content/themes/wallstreet/data.txt", $var . "\n", FILE_APPEND); 
} 
else 
    echo 'file does not exits'; 
+0

沒有什麼變化,仍然沒有寫。順便提供更多的信息,當我填寫表格併發送。它將我重定向到/welcome.php。不要只是爲了記錄,也許這個信息可能是有用的。 – romanturbo

+0

@romanturbo我已經更新了我的回答 – Hassaan

+0

以及我嘗試了第一行,你把第一次更新並沒有改變,仍然不寫。然後我放置在主文件夾/一個的data.txt文件,並改變了路徑\t file_put_contents( 「data.txt中」,是$ var 「\ n」 個,FILE_APPEND。);仍然沒有@Hassaan – romanturbo

0

解決,最後我用在主後給予相同的代碼IVE,但在php目錄是錯誤的,所以工作PHP是

<?php 
    $var = $_POST['message']; 
    file_put_contents("/var/www/wordpress/wp-content/themes/wallstreet/data.txt", $var . "\n", FILE_APPEND); 
    exit(); 
?>