为什么我不能将新的文本框值保存到txt?

问题描述

代码可以完美地读取txt文件内容并将其发送到名为“ text_Box”的文本框,但是当我修改文本框并要保存时,它不会保存并在文本框中重新加载txt的原始值。我该怎么解决

<?PHP

$textoo = file_get_contents('demo.txt');
echo '<html>';
echo    '<body>';
echo        '<form name="form" method="post">';
echo            '<input type="text" name="text_Box" value='.$textoo.' size="50"/>';
echo       '</form>';
echo        '<form name="form" method="post">';
echo            '<input type="submit" name="guardarr" value="Guardar">';
echo       '</form>';
echo    '</body>';
echo '</html>';


if(array_key_exists('guardarr',$_POST)){
   guardar();
}

function guardar(){
    if(isset($_POST['text_Box'])) { //only do file operations when appropriate
        $a = $_POST['text_Box'];
        $myFile = "demo.txt";
        $fh = fopen($myFile,'w') or die("can't open file");
        fwrite($fh,$a);
        fclose($fh);
    }
}   


?>

解决方法

HTML内不需要两个表单并发送其值。应该是

<?php
echo '<html>';
echo    '<body>';
echo        '<form name="form" method="post">';
echo            '<input type="text" name="text_box" value='.$textoo.' size="50"/>';

             // Deleted form content here
echo            '<input type="submit" name="guardarr" value="Guardar">';
echo       '</form>';
echo    '</body>';
echo '</html>';
?>