我试图获得一个简单的表单,它将使用php写入文件。但是我遇到了一个错误,每当我尝试通过post写一个值时,它会将'0'写入文件而不是值。
我的表格如下:
<form method="post" action="test.php">
<input type="text" name="user" />
<input type="submit" value="submit"/>
</form>
test.php通过以下方式从表单中获取用户:
$user = $_POST['user'];
我可以在页面上显示$user
,并且我已经能够使用fwrite
将字符串写入文件了。但每当我fwrite($file,$user)
时,唯一写的是0
。我做错了什么?
答案 0 :(得分:3)
您是否在fwrite中缺少文件句柄而不是文件
$user = $_POST['user'];
$fh = fopen("file.txt","a");
fwrite($fh,($user."\r\n")); // add newline for next time
fclose($fh);
答案 1 :(得分:0)
您也可以简单地将file_put_contents与FILE_APPEND标志一起使用:
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
if(!empty($_POST['user'])){
file_put_contents('file.txt',trim($_POST['user'])."\n",FILE_APPEND);
}
}
?>