在PHP中写入文本文件会打开一个新窗口

时间:2013-10-03 21:29:02

标签: php

好的,我有一个表单,我已经解析了所有数据,我已准备好将其写入文件。我使用以下PHP代码(简化):

$file = fopen("Data.txt","a");
fwrite($file,$_GET["InputText"]);
fclose($file);

它对文件写得很好,但会打开一个新的空白页面。我如何阻止它这样做?

感谢您的帮助

-Dave

编辑:PHP没有生成输出。它只是将一行文本写入文件。我使用一个单独的文件来保存我的PHP代码...     < form id =“fmInput”action =“IM.php”onsubmit =“submitText()”>

我还能怎么做?

EDIT2:我的代码更多:

<form id="fmInput" action="IM.php" onsubmit="submitText()">
<input type="text" name="fnInputText" id="iInputText">
</form>

<?php
//IM.php
$file = @fopen("IMData.txt","ab");

fwrite($file,$_GET["fnInputText"]);

fwrite($file,"<br>");

fclose($file);
?>

现在,当用户点击表单上的输入时,JS捕获并处理(使用submitText函数)然后PHP将其写入文件,但随后打开一个空白浏览器...

EDIT3:我猜它在同一个窗口中加载了一个空白页面,因为它在地址栏中显示了这个“/IM.php?fnInputText =”

我不希望它这样做。我需要它在没有任何中断的情况下写入文件,因此让PHP在运行后显示任何内容都是一个交易破坏者。即使我必须让它重新加载更好的页面......由于JS将不得不重新加载文件,所以它会花费更多的时间......

我想出了如何使用JS和XMLHttpRequest从文件中读取,但对于我的生活,我不能让JS写入文件。我更喜欢使用JS,因为我对PHP知之甚少(这篇文章可能很明显; D)

我的目标是:页面加载,JS读入文件并在屏幕上显示文件。用户输入somthing,命中输入,JS将其添加到屏幕,然后[PHP或JS]将数据写入文件。重复。

3 个答案:

答案 0 :(得分:0)

您必须将表单数据提交到另一个文件。例如,做一个

    onsubmit="write.php"

那应该打开一个新页面并写入文件

答案 1 :(得分:0)

也许您想在写完数据后将用户重定向到非空白页?

header("Location: /back-to-my-page.html");

答案 2 :(得分:0)

这是整个包裹!

IM.php:

<?php
// write to file if the form is submitted
if(isset($_POST['submitted'])){ # if form is submitted
  $secure_input = htmlentities($_POST['input_text']); # making sure no malicious html code is submitted
  file_put_contents('some_file_to_write.txt', $secure_input); #write secure_input to a file
  echo '<br>completed!</br>';
}
?>

<form id="fmInput" action="IM.php" method="post">
<input type="text" name="fnInputText" id="input_text">
<input type="submit" name="submitted" value="write to file" />
</form>

如果出现任何错误:您没有写入权限!如果文件被下载,你没有安装php;)

祝你好运!