【问题标题】:Can't get PHP script to write user input to text file无法让 PHP 脚本将用户输入写入文本文件
【发布时间】:2015-11-02 10:19:49
【问题描述】:

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

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

更长的解释:我正在为我好友的网站编写这个简单的PHP 脚本。它应该收集电子邮件地址并将其写入文本文件。我决定走这条路,而不是使用任何类型的数据库。我在网络服务器的根目录中有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();
?>

【问题讨论】:

  • 你好!如果学生的回答,下面解决了您的问题,请勾选 anwser 旁边的勾号,以表明它是有效的!欢呼

标签: php html file email post


【解决方案1】:

正确:

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

收件人:

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

【讨论】:

  • 非常感谢!!我很感激!我不知道后面的蜱虫是怎么到那里的。再次感谢!
猜你喜欢
  • 2017-11-01
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
  • 1970-01-01
  • 2015-03-04
  • 2018-01-25
相关资源
最近更新 更多