php写附加文件,重复不需要的
我有下面的脚本,我从一个表单(action)调用它来获取表单中的给定数据。但当我试图将表单数据写入文件时。它似乎在重复,我无法找出代码中的错误 在本例中,我清除了“testfile.txt”。因此,它有了一个新的开始。在HTML表单中,我输入了邮政编码1212 aa 然而,作为一个“奖金”,我得到了大约15倍的邮政编码一行php写附加文件,重复不需要的,php,html,Php,Html,我有下面的脚本,我从一个表单(action)调用它来获取表单中的给定数据。但当我试图将表单数据写入文件时。它似乎在重复,我无法找出代码中的错误 在本例中,我清除了“testfile.txt”。因此,它有了一个新的开始。在HTML表单中,我输入了邮政编码1212 aa 然而,作为一个“奖金”,我得到了大约15倍的邮政编码一行 <?php $myfile = fopen("testfile.txt", "a") or die("Unable to open file!");
<?php
$myfile = fopen("testfile.txt", "a") or die("Unable to open file!");
$txt = "postcode" . $_POST['entry_508642568'];
echo $txt;
fwrite($myfile, "\n". $txt);
fclose($myfile);
?>
看起来表单被提交了多次。要么修复该问题,要么在附加到文件之前先检查输入
<?php
if( !empty($_POST['entry_508642568']) ) {
$myfile = fopen("testfile.txt", "a") or die("Unable to open file!");
$txt = "postcode" . $_POST['entry_508642568'];
echo $txt;
fwrite($myfile, "\n". $txt);
fclose($myfile);
}
?>
看起来表单被多次提交。要么修复该问题,要么在附加到文件之前先检查输入
<?php
if( !empty($_POST['entry_508642568']) ) {
$myfile = fopen("testfile.txt", "a") or die("Unable to open file!");
$txt = "postcode" . $_POST['entry_508642568'];
echo $txt;
fwrite($myfile, "\n". $txt);
fclose($myfile);
}
?>
上面的答案很好,但您也可以使用标志来处理将字符串写入文件的操作
<?php
if( !empty($_POST['entry_508642568']) ) {
$file = 'testfile.txt';
$txt = "postcode" . $_POST['entry_508642568'];
file_put_contents($file, $txt, FILE_APPEND | LOCK_EX);
//LOCK_EX flag to prevent anyone else writing to the file at the same time
}
?>
上面的答案很好,但您也可以使用标志来处理将字符串写入文件的操作
<?php
if( !empty($_POST['entry_508642568']) ) {
$file = 'testfile.txt';
$txt = "postcode" . $_POST['entry_508642568'];
file_put_contents($file, $txt, FILE_APPEND | LOCK_EX);
//LOCK_EX flag to prevent anyone else writing to the file at the same time
}
?>
PHP代码看起来不错。你能发布你正在使用的表单的html吗?试着用“w”
替换“a”
,并检查是否发生了什么。你发布的脚本很可能会用空的$\u post
执行多次,然后用填充的$\u post
$txt=“postcode>执行一次$_邮政['entry_508642568']代码>这将总是写一个值而不是所有值,因为我认为它是POST
数组的一个索引,包含一个value
@Vishwa好主意,我专注于PHP,现在检查HTML和JS PHP代码看起来不错。你能发布你正在使用的表单的html吗?试着用“w”
替换“a”
,并检查是否发生了什么。你发布的脚本很可能会用空的$\u post
执行多次,然后用填充的$\u post
$txt=“postcode>执行一次$_邮政['entry_508642568']代码>这将总是写一个值而不是全部值,因为我认为它是POST
数组的一个索引,包含一个value
@Vishwa好主意,我专注于PHP,现在检查HTML和JS它一定是一些JS刷新页面上的一些信息,但仍然不知道如何。然而,这个解决方案也解决了这个问题。谢谢你,这一定是一些JS什么刷新页面上的一些信息,但仍然不知道如何。然而,这个解决方案也解决了这个问题。谢谢你