我无法获得这个简单的PHP
脚本来从HTML
表单中获取数据。脚本抛出此警告:
(注意:使用未定义的常量“email”-第5行/absolute/fullpath/godaddy/frustration/html/mail.php中假定的“电子邮件”)
更长的解释:,我正在为我朋友的网站编写这个简单的PHP
脚本。它应该收集电子邮件地址并将其写入文本文件。我决定走这条路,而不是使用任何类型的数据库。我在and服务器的根目录上都有email.txt
文件和PHP
脚本。我们使用GoDaddy
来托管站点。我确保GoDaddy
启用了PHP
,并且没有出现限制性设置。
我将脚本和文本文件的权限更改为666
。我得出的结论是,脚本没有获取从HTML
表单中发布的数据。我得出这一结论是因为我测试了fwrite
函数,它可以轻松地写入文本文件(email.txt)
,而无需打嗝。
在过去的两周里,我只花了几个小时来完成这个任务,但是我觉得我已经用尽了所有的选择。我通过谷歌搜索了很多地方,也注意到了其他有类似问题的人。但是,他们通过为文本文件添加完整路径、更改权限等方法解决了问题。
每当我在文本框中输入电子邮件地址并点击submit时,没有任何东西被写入到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();
?>
发布于 2015-11-02 02:21:31
正确:
$emailaddr = $_POST[’email’]; // back ticks are used to enclose, incorrect.
至:
$emailaddr = $_POST['email']; // single quotes are used to enclose, correct.
https://stackoverflow.com/questions/33475331
复制相似问题