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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fwrite无法正常工作,并写入重复的信息相关的知识,希望对你有一定的参考价值。

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

示例:

用户1:形成名称:约翰电子邮件:john@gmail.com

用户2:形成名称:邦妮电子邮件:bonnie@gmail.com

文件:姓名:Jhon |电子邮件:john@gmail.com名称:Bonnie |电子邮件:bonnie@gmail.com

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

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

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

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

答案

根据您在问题中所说的内容,功能和形式运行良好,但是代码会在刷新页面时触发。您需要做的是将您的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文件,并以相同的方式检索值。在这种情况下,您的页面将不会刷新。

以上是关于fwrite无法正常工作,并写入重复的信息的主要内容,如果未能解决你的问题,请参考以下文章

Linux 打开文件并写入一段字符串,同一时候读出相应文件的信息--fopen()/fwrite()/fread()

linux下php fwrite无法写入文件怎么回事呀

PHP fwrite() 无法写入子目录

fwrite 处理大量小写的效率

尝试写入 .plist 文件,但无法正常工作

使用来自多个进程的 fseek/fwrite 写入文件的不同区域?