2013-10-03 65 views
0

好吧,我有一个形式,我已经分析所有的数据,我准备把它写入文件。我用下面的PHP代码(简化):写在PHP中的文本文件打开一个新窗口

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

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

感谢您的帮助

-Dave

编辑:没有由PHP生成的输出。它只是将一行文本写入文件。我使用一个单独的文件来保存我的PHP代码... <形式ID = “fmInput” 行动= “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写入文件。我perfer使用JS,因为我还不是很了解PHP(这可能是从这个帖子aparent; d)

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

+0

你说的“打开一个空白的新的一页”是什么意思?有没有任何输出生成的PHP文件? – TheWolf

+6

PHP与打开新窗口无关。你的问题在别处。 –

+0

可能的解释:有一些糟糕的javascript代码(寻找'window.open()'),或者你刚刚被重新加载后得到的空白php页面所困惑 –

回答

0

也许你想你就大功告成了写你的数据后,您的用户重定向到非空白页的文件?

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

我试着让它重定向回页面,这似乎是做伎俩。它的一种迂回的做法,但我想它的作品...谢谢! (如果其他人知道问题的根源是什么,请让我知道......) – Dave

0

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

onsubmit="write.php" 

这应该打开一个新页面,并写入

+0

这就是我在做什么,我怎么不这样做?我有

我不知道如何在不使用单独文件的情况下轻松获得该PHP ... – Dave

+1

不要写这个。 :D只需使用一个正常形式,ACTION,METHOD必须声明,没有别的。删除ONSUBMIT。 –

+0

@ user2844469'

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;)

祝您好运!

相关问题