簡體   English   中英

無法獲取PHP腳本將用戶輸入寫入文本文件

[英]Can't get PHP script to write user input to text file

我無法獲得這個簡單的PHP腳本來從HTML表單中獲取數據。 該腳本引發以下警告:

(注意:使用未定義的常量'email'-在第5行的/absolute/fullpath/godaddy/frustration/html/mail.php中假定為“ email”)

更長的解釋:我正在為我的好友的網站編寫此簡單的PHP腳本。 應該收集電子郵件地址並將其寫入文本文件。 我決定走這條路,而不是利用任何類型的數據庫。 我在Web服務器的根目錄上都有email.txt文件和PHP腳本。 我們正在使用GoDaddy托管網站。 我確保GoDaddy已啟用PHP ,並且沒有限制性設置。

我將腳本和文本文件的權限都更改為666 我得出的結論是,該腳本無法捕獲從HTML表單發布的數據。 之所以得出這個結論,是因為我測試了fwrite函數,並且可以輕松地將其寫入文本文件(email.txt)

在過去的兩個星期中,我僅花了幾個小時就完成了此任務,但我覺得我已經用盡了所有的選擇。 我通過Google進行了廣泛搜索,發現其他人也遇到類似問題。 但是,他們通過添加文本文件的完整路徑,更改權限等解決了問題。

每當我在文本框中輸入電子郵件地址並點擊“提交”時,都不email.txt任何內容寫入email.txt文件,只是一個空的文本文件。

預先感謝您的任何反饋或幫助。 非常感謝!

<form id="emaillist" name="email" method="post" action="mail.php">
<label for="mailList"></label>
<input type="text" name="email" id="email" placeholder="Email Address" />
<input type="submit" name="submitMail" id="submitMail" value="Submit" />
</form>

<?php
ini_set('display_errors', 1); // show errors
error_reporting(-1); // of all levels
date_default_timezone_set('UTC'); // PHP will complain about on this error level
$emailaddr = $_POST[’email’];
$fp = fopen('/full/path/totextfile/html/email.txt', 'a');
fwrite($fp, $emailaddr);
fclose($fp);
echo 'Thank you!';
phpinfo();
?>

正確:

$emailaddr = $_POST[’email’]; // back ticks are used to enclose, incorrect.

至:

$emailaddr = $_POST['email']; // single quotes are used to enclose, correct.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM