无法获取PHP脚本将用户输入写入文本文件

时间:2015-11-02 10:19:50

标签: php html file email post

我无法通过这个简单的PHP脚本从HTML表单中获取数据。该脚本会抛出此警告:

  

(注意:使用未定义的常量'电子邮件' - 假设''电子邮件''   第5行/absolute/fullpath/godaddy/frustration/html/mail.php)

更长的解释:我正在为我的好友网站编写这个简单的PHP脚本。它应该收集电子邮件地址并将其写入文本文件。我决定走这条路,而不是利用任何类型的数据库。我在Web服务器的根目录中都有email.txt文件和PHP脚本。我们正在使用GoDaddy来托管该网站。我确保GoDaddy启用了PHP,并且没有限制性设置。

我将脚本和文本文件的权限更改为666。我得出结论,该脚本不会抓取从HTML表单发布的数据。我得出了这个结论,因为我测试了fwrite函数,它很容易写入文本文件(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();
?>

1 个答案:

答案 0 :(得分:3)

正确:

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

要:

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