2016-09-30 114 views
0

嘗試通過使用文件functions.php從表單中獲取表單以記錄另一個PHP文件。 它工作的很好,除了它只從表單中檢索數據,但它不檢索/註冊我希望輸入的數據,例如正確操作網站所需的html標籤。 我會很感激的建議。將數據寫入php文件

/** php function file dir: ‘/themes/dir/securedir/subdir/functions.php’ */ 
/** php form file dir: ‘/themes/dir/formsdir/subdir/forms.php’ */ 
function updateVesti() { 
    If (isset($_GET['pn-path'])){ 
     /** path: ‘/themes/dir/pagedir/subdir/phpfile.php’ */ 
     $pn_path = $_REQUEST['pn-path']; 
     $inputs = !empty($_REQUEST['novosti']) ? $_REQUEST['novosti'] : array(); 
     if(!$fhandle = fopen($pn_path,"w")){ 
      header("Location: ../error.php?err=updateVesti() fhandle razlicno od fopen"); 
      exit(); 
     } 
     if (is_writable($pn_path)) { 
      foreach($inputs as $value) { 
       $val1 = '<li class="news-item"><a href="#">'; 
       $val2 = '</a></li></br>'; 
       $contents = $val1. $value. $val2; /** write only $value? */ 
       echo $contents; 
       $novosti = $value .PHP_EOL; 
       if (fwrite($fhandle, $novosti) === FALSE) { 
        header("Location: ../error.php?err=updateVesti() fwrit = false"); 
        exit(); 
       } 
      } 
     }else{ 
      header("Location: ../error.php?err=updateVesti() file is not writible"); 
     } 
     fclose($fhandle); 
     header('Location: ../dir/index.php'); 
     exit(); 
    }else{ 
     exit(); 
    } 
} 

強大的文本**

+0

如果你想這樣做,只是發送了'.innerHTML',圍繞你的形式包裝的元素,通過AJAX,然後'file_put_contents($文件名,$ ajaxStringHere)'在PHP。當然,我認爲這是一種可怕的做法。數據應該獨立於DOM結構。使用JavaScript AJAX將數據發送到服務器。迴應後,建立您的DOM。數據應該保存在服務器上的數據庫中。 – PHPglue

+0

完全同意你的意見!當然,我的數據完全獨立於使用PHP和JavaScript Ajax XML與DB服務器通信的DOM結構。我所做的是愚蠢的錯誤,可能是因爲疲勞,增加了新的變量'$ contents',而無需在循環的最後一步中進行預測,或者如我在答覆中所述,不必使用新變量,但現有的$ Value賦予更改的內容。我真的很感謝你的答案。 – Borache

回答

0

Аs我們往往會獲得可靠的解決方案!將工作擱置一段時間,解決方案將自行顯示!變量的代碼名稱有輕微變化,現在效果很好!可能由於疲勞造成這種遺漏,但令人驚訝的是我沒有發現全面的類似問題!我希望這個例子能夠幫助某個人,如果沒有其他人知道他們應該適當休息一下才能在大腦中保持新鮮感!

... 
$value = $val1. $value. $val2; // instead of $content 
    echo $value; 
    $novosti = $value .PHP_EOL; 
...