将表单元素保存到服务器上的文本文件中


Saving form element to a text file on server

我在从表单中提取数据时遇到问题。我想将电子邮件地址保存到本地服务器的文本文件中。用户将首先访问此站点(图片),网站

他们将输入他们的电子邮件地址和无线密钥(由Unifi控制),然后点击提交。那时,我希望将他们输入的电子邮件保存到文本文件中。连接按钮还使用 Unifi 对用户进行身份验证,他们能够连接到访客无线。

到目前为止,我的代码是:

<!-- Email Input -->
<fieldset class="large-text">
    <p class="form-element">
        <label for="email" class="fieldname">Email</label>
        <input id="emailcontainer" method="post" name="emailtxtbox" class="textInput" value="" autocomplete="on" input type="email" required placeholder="Enter your email"/>
    </p>
</fieldset>
<!-- End of Email Input !-->

这将创建您在图片上方看到的电子邮件文本框条目。

下面的代码是php执行,它将(希望)抓取电子邮件,然后将其保存为文本文件:

$getemail = $_GET["emailtxtbox"];
$emailtxtbox = $_POST["emailtxtbox"];
if($getemail = "connect") {
    $targetFolder = "/emailcollate";
    file_put_contents($targetFolder."mytext.txt", $emailtxtbox);
}

正如你可能猜到的那样,我没有php或html的技能,所以请保持简单。我已经玩了很多上面的代码,所以其中一些可能有不同的名称等。我将不胜感激任何帮助!

有没有人认为使用 file_put_contents() 函数来执行上述操作会更好?

好吧,我已经很久没有使用 PHP 了,但我会尽力而为。我对此进行故障排除的方法是确保 PHP 页面实际运行,轻松完成:

    var_dump("this page ran");
页面

运行后,将这两个变量转储到页面,以确认页面已收到它们并已准确地将它们更改为变量。

接下来,在 if 语句中,转储一些随机文本以确保 if 语句已运行。

否则,请确保您知道 PHP 文件尝试保存到的位置,可能必须改用这个:

     file_put_contents("/emailcollate/mytext.txt", $emailtxtbox);

file_put_contents() 函数应该可以正常工作

在 PHP 中,$GET用于获取站点 URL 中的参数,$POST用于收集提交到页面的表单值。

在您的情况下,您将从网页的网址中获取$getemail的值,因此要使$getemail具有值,您网站的网址应类似于

www.yoursite.com/?emailtxtbox=connect

此外,您需要在 if 语句中添加一个额外的等号,如下所示:

if($getemail == "connect") {

双等号是用于比较两个值的比较器,而不是用于为变量赋值的单个等号。

您的file_put_contents看起来不错,但就像 user6063785 建议尝试在 if 语句之外运行该代码块以查看文件是否正在写入。您可能需要确保 PHP 具有写入文件的权限。