2013-10-18 36 views
1

我有这样的代码:文本文件没有更新

<?php 
if(isset($_POST['submit'])){ 
$fi = "/home2/chippery/public_html/rtf/webR/top.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["top"]; 
fwrite($fih,$cont); 
fclose($fih); 


$fi = "/home2/chippery/public_html/rtf/webR/bottom.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["bottom"]; 
fwrite($fih,$cont); 
fclose($fih); 


$fi = "/home2/chippery/public_html/rtf/webR/nextTime.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["time"]; 
fwrite($fih,$cont); 
fclose($fih); 
} 
?> 

<html> 
<head> 
<title>Chipperyman573</title> 
<link rel="shortcut icon" href="/fav.ico" /> 
</head> 
<body> 
<form method="post" action="change.html"> 
    Top: <input type="text" name="top" /><br> 
    Bottom: <input type="text" name="bottom" /><br> 
    Time (MS): <input type="text" name="time" /><br> 
    <input type="submit" value="Save" /> 
</form> 
</body> 
</html> 

我已经做了文字的页面,当我尝试使用这种形式的页面不改变。我究竟做错了什么?我是难以置信的新的HTML/PHP所以我敢肯定这是愚蠢的。

+0

分号'fopen'失踪和'$ _ POST [ '顶']'... –

+1

你是不是写的内容的文件。使用'fwrite($ fih,$ cont)' –

+0

您应该启用错误报告。 –

回答

3

要在文件中写入内容,应在使用写入模式打开文件后使用fwrite()

而在你的代码中有一些错误,更新的代码在这里。我曾认为你的文件名是myfile.php -

<?php 
if(isset($_POST['submit'])){ 
$fi = "top.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["top"]; 
fwrite($fih,$cont); 
fclose($fih); 


$fi = "bottom.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["bottom"]; 
fwrite($fih,$cont); 
fclose($fih); 


$fi = "nextTime.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["time"]; 
fwrite($fih,$cont); 
fclose($fih); 
} 
?> 
<html> 
<head> 
<title>Chipperyman573</title> 
<link rel="shortcut icon" href="/fav.ico" /> 
</head> 
<body> 
<form method="post" action="myfile.php"> 
    Top: <input type="text" name="top" /><br> 
    Bottom: <input type="text" name="bottom" /><br> 
    Time (MS): <input type="text" name="time" /><br> 
    <input type="submit" value="Save" /> 
</form> 
</body> 
</html> 
+0

仍不更新。当我点击按钮但页面不更新时,它会刷新页面。 – Frank

+0

@ chipperyman573你想做什么?我以为你想更新文本文件。 – Ritesh

+0

是的,它不是。我只想替换文字而没有任何事情发生。 – Frank

0
<?php 
if(isset($_POST['submit'])){ 
$fi = "top.txt"; 
$fih = fopen($fi, 'w') <-- missing semi-colon 
$cont = $_POST["top"] <-- missing semi-colon 
fclose($fih); 


$fi = "bottom.txt"; 
$fih = fopen($fi, 'w') <-- missing semi-colon 
$cont = $_POST["bottom"]; 
fclose($fih); 


$fi = "nextTime.txt"; 
$fih = fopen($fi, 'w') <-- missing semi-colon 
$cont = $_POST["time"]; 
fclose($fih); 
} 
?> 

正如仅限Ritesh说,你是不是任何数据写入到文件。只需打开并关闭它们。

1

也可以使用file_put_contents()函数。

此功能是相同的调用fopen()函数,的fwrite()和FCLOSE() 依次将数据写入到文件中。

<?php 
if (isset($_POST['submit'])) { 
    $fi = "top.txt"; 
    $cont = $_POST["top"]; 
    file_put_contents($fi, $cont); 


    $fi = "bottom.txt"; 
    $cont = $_POST["bottom"]; 
    file_put_contents($fi, $cont); 


    $fi = "nextTime.txt"; 
    $cont = $_POST["time"]; 
    file_put_contents($fi, $cont); 
} 
?>