我正在尝试将字符串附加到文本文件中。
文件users.txt
与php文件位于同一文件夹中。
$fname=$_POST['fname'];
$message = "name is :" . $fname. "\n";
if (isset($_POST['submit'])) {
if ( file_exists("users.txt")) {
$fp = fopen ("users.txt", "a");
fwrite($fp, $message);
fclose($fp);
} else {
echo'<script type="text/javascript">alert("file does not exist")</script>';
}
}
不会抛出邮件错误,也不会写入文件 我做错了什么?
我的表格:
<form onsubmit="return ValidateInputs();" action="contact.php" method="post" id="contactForm" >
<input class="input" type="text" name="fname" id="fname" />
<input type="submit" value="submit" name="submit" />
</form>
NB。此表单确实提交..它会通过电子邮件将消息发送给我。
答案 0 :(得分:3)
这完全适用于我的localhost。我没有用你的HTML重新创建完整的场景,但现在可以使用了。只需记住将文件权限设置为读/写,并确保一次只执行一步。例如,从这段代码开始,确保获得文件名file.txt,其中包含您想要的文本。然后通过包含HTML位将其提升到下一个级别。
<?php
$fname = "Skippy";
$message = "name is :" . $fname. "\n";
$file = 'file.txt';
$fd = fopen($file, "a");
if ($fd) {
fwrite($fd, $message . "\n");
fclose($fd);
}
?>
答案 1 :(得分:3)
PHP处理程序的问题是未定义fname
变量。
已添加$fname=$_POST['fname'];
<?php
$fname=$_POST['fname'];
$message = "name is :" . $fname . "\n";
if (isset($_POST['submit'])) {
if ( file_exists("users.txt")) {
$fp = fopen ("users.txt", "a");
fwrite($fp, $message);
fclose($fp);
echo "Success";
}
else {
echo'<script type="text/javascript">alert("file does not exist")</script>';
}
}
?>
脚注:为了将内容写入文件,可能还需要其他权限。 CHMOD 644
通常是标准权限设置,但某些服务器需要777
。
通过FTP,如果有一个可以手动输入命令的窗口,可以在所使用的FTP软件中键入chmod 644 users.txt
或chmod 777 users.txt
。
有关如何chmod
文件的其他信息,可以访问GoDaddy网站获取基于Windows的托管服务。