1

我正在尝试将字符串附加到文本文件。

该文件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>

注意。此表单确实提交.. 它会通过电子邮件将消息发送给我。

4

2 回答 2

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,如果有一个窗口,您可以手动输入命令,方法是输入chmod 644 users.txt或输入chmod 777 users.txt您使用的 FTP 软件。

有关如何归档的其他信息chmod,可通过访问基于 Windows 的托管服务的 GoDaddy 网站获得。


于 2013-08-11T04:22:48.927 回答
3

这完全适用于我的本地主机。我没有用你的 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); 
}

?>
于 2013-08-11T03:57:41.387 回答