2017-12-13 35 views
2

このPHPコードを使用して.txtファイルを編集し、更新しています。 (+スクリプトが保存されない)php-提出後にリフレッシュせずにfwriteを更新する

<?php 
    $fichier=text.txt"; 

     if(isset($_POST['update'])) {  
     $ouverture=fopen("$fichier","w"); 
     fwrite($ouverture,"$_POST[modif]"); 
     fclose($ouverture); 
     echo '<h2>Modification effectue</h2>'; // validation 
     } 
?> 
<form method="post" action=""> 
<textarea name="modif"> 
<?php 
if(is_file($fichier)) echo file_get_contents($fichier); 
?> 
</textarea> 
<input type="submit" name="update">update</input> 
</form> 

コードが独自に動作しますが、一度私の最終的なウェブサイトの構造上に実装され、後にsubmitedリフレッシュ効果は私のウェブサイトのルートに私をもたらします。

ページを更新せずにfwriteで更新する方法はありますか?

答えて

1

/SOLUTIONはその問題から推定/ Save Changes to File Without reloading Page

のindex.php

<script> 
    //when you click save changes, we get its id="save" 
    //and prevent default submission  
    $(document).on("click", "#save", function(e){ 
      e.preventDefault(); 
      //get the textarea data bu its id="demo" 
      var textdata = $('#demo').val(); 
      mydata= 'testdata='+textdata; 
      $.ajax({ 
       type:'POST', 
       data:mydata, 
       url:'update.php', 
       success:function(data) {     
        if(data){ 
         alert('Saved!'); 
         $("#demo").html(data);//load data from update.php 
        }else{ 
         alert('Update failed'); 
        } 
        } 
      }); 
     }); 
    </script> 

    <form method="POST"> 
      <?php 
      $myfile = fopen('test.txt', 'r'); 
       echo "<textarea id='demo'>"; 
      // go through each line in the file, print its contents. 
      while(!feof($myfile)) { 
       echo fgets($myfile); 
      } 
       echo "</textarea><br>"; 
      ?>  
     <input type="submit" id="save" value="Save changes" />  
    </form> 

<?php 
$data_to_write = $_POST['testdata']; 
$file_path = 'test.txt'; 
$file_handle = fopen($file_path, 'w'); 
fwrite($file_handle, $data_to_write); 
fclose($file_handle); 
$myfile = fopen('test.txt', 'r'); 
while(!feof($myfile)) { 
      echo fgets($myfile); 
    } 
fclose($myfile); 
?> 

update.phpをTEXT.TXT "Loremのイプサムを" FOUND