更新文件脚本问题

时间:2013-12-06 20:13:26

标签: php

我正在使用此代码更新给定文件;

<?php
if($_POST['submit']){
$open = fopen("textfile.php","w+");
$text = $_POST['update'];
fwrite($open, $text);
fclose($open);
echo "File updated.<br />"; 
echo "File:<br />";
$file = file("textfile.php");
foreach($file as $text) {
echo $text."<br />";
}
}else{
$file = file("textfile.php");
echo "<form action=\"".$PHP_SELF."\" method=\"post\">";
echo "<textarea Name=\"update\" cols=\"50\" rows=\"10\">";
foreach($file as $text) {
echo $text;
} 
echo "</textarea>";
echo "<input name=\"submit\" type=\"submit\" value=\"Update\" />\n
</form>";
}

?>

但不知怎的,它显示了这个错误:enter image description here

虽然我在提交文本时没有使用此代码更新文件,但没有错误或提交,但是屏幕截图中显示的错误会让我感到烦恼,所以我可以删除这些错误吗?

谢谢!

3 个答案:

答案 0 :(得分:0)

将第2行更改为:
if(isset($_POST['submit'])){

将第15行更改为:
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">";

答案 1 :(得分:0)

假设您的提交按钮名为submit,检查$_POST['submit']是不可靠的(因为并非所有浏览器都提交了提交按钮),您应该检查发布的另一个字段名称 OR < / strong>更好的是,更改为if($_SERVER['REQUEST_METHOD'] == 'POST'){

另外,$PHP_SELF假设您已经注册了全局变量(不应该是),您应该使用$_SERVER['PHP_SELF']

答案 2 :(得分:0)

乔拥有它。你想要isset()。 @(错误抑制)是懦夫的出路。做个男人并使用isset(); - )