fwrite无法正常工作,并写入重复的信息

问题描述 投票:0回答:1

我是PHP的初学者,而fwrite函数存在一些问题。我需要将信息写在一行中,然后当用户使用该表单后,该表单的信息就会移到另一行中。

示例:

用户1:形成名称:约翰电子邮件:[email protected]

用户2:形成名称:邦妮电子邮件:[email protected]

文件:姓名:Jhon |电子邮件:[email protected]名称:Bonnie |电子邮件:[email protected]

表单运行正常,问题出在fwrite函数中。我尝试这样

$arquivo = fopen("info.txt", "a+");
        $txt = $nome."|".$data."|".$cidade."|".$email."|".$senha."\r\n";
        fwrite($arquivo, $txt);
        fclose($arquivo);

以这种方式,每次重新加载页面时,都会复制以前的数据。

对不起,我的英语不好。预先感谢。

php fopen fwrite
1个回答
0
投票

根据您在问题中所说的内容,功能和形式运行良好,但是代码会在刷新页面时触发。您需要做的是将您的write函数绑定到一个动作。

有两种方法可以做到这一点。

1] 仅使用php和HTML是创建一个<form>并执行一个操作,该操作将指向您的包含写入功能的php文件。您将需要一个提交按钮,我认为您已经拥有该按钮,因为您的表格工作正常。这样,每次提交表单时,都会触发功能,而不是页面刷新。

<form action="your_php_file.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

只是基本示例,您可以将其扩展到想要的内容。只要确保您在php文件中使用$_POST['name']$_POST['email']来检索输入字段的值即可。

2)使用HTML,Javacript + ajax,php

在此示例中,您不需要表单,但需要使用javascript选择器获取元素的值。之后,您使用事件onClick进行ajax调用,并将所有html值发送到php文件,并以相同的方式检索值。在这种情况下,您的页面将不会刷新。

© www.soinside.com 2019 - 2024. All rights reserved.