使用PHP将HTML格式的表单转换为文本文件


form in HTML to textfile using PHP

我有一个用HTML编写的表单和一个PHP文件,它应该能够将输入生成到同一目录中的文本文件中。我以前用一个不同的简单HTML文件测试过它,它有效,现在我正试着将它应用到一个更大的HTML文件中,但不知怎么的,它不起作用,我找不到它的问题。

feedback.html:

<html>
<head>
        <script>
        function myFunction()
        {
            alert("Your feedback has been sent! Thank you");
        }   
        </script>
</head>
<body>
<div class="Linksediv">
    <h3>Feedback</h3>
    <p>Please enter your name and give us some feedback</p>
        <form action="form1.php" method="post">
            Name<input id="Email" size="30" type="text" name="field1"/><br/>
                <textarea id="pass" type="text" name="field2" rows="4" cols="24">Please give us some feedback
                    </textarea>
             <br/>
                <input type="button" name="submit" value="submit" id="buttonOk" onclick="myFunction()" value="Show alert box" />
        </form>
</div>
</body>
</html>

Form1.php

<?php
if(isset($_POST['field1']) && isset($_POST['field2'])) {                    //Check if fields are there in HTML file
    $data = $_POST['field1'] . ' - ' . $_POST['field2'] . "'n";             //output
    $ret = file_put_contents('data1.txt', $data, FILE_APPEND | LOCK_EX);    //file dir for data1.txt
    if($ret === false) {                                                    //check if anything was written down
        die('There was an error writing this file');
    }
    else {
        echo "$ret bytes written to file"."'n";
    }
}
?>

如果我在表单上按提交,那么我只会得到一个弹出的警报,并且文本文件不会被写为

以下行

<input type="button" name="submit" value="submit" id="buttonOk" onclick="myFunction()" value="Show alert box" />

创建一个输入type="button",而不是type="submit",因此表单实际上并没有提交。

此外,请考虑在发布后显示成功消息,而不是点击,当文件成功写入

时,只需在form1.php脚本上回显即可将输入类型从按钮更改为提交后,您可能还需要向onclick处理程序添加一条"return true"语句。返回false将阻止提交按钮执行其默认操作,即提交表单。如果没有返回值,则行为可能相同。
function myFunction()
{
   alert("Your feedback has been sent! Thank you");
   return true;
}