Search code examples
phpbuttonsubmitfwrite

saving to text file with submit button


I have this code that displays contents of a particular file. I would like to add a submit button that when clicked saves the changes in to a file. Can anyone help me or give some examples that i can use to create this button. i have tried couple of example that i found on the web but could get it to work. is the solution hidden somewhere with $_POST. her is the code.

<?php
$relPath = 'test_file_1.php';
$fileHandle = fopen($relPath, 'r') or die("Failed to open file $relPath go and make me a sandwich! "); ;

while(!feof($fileHandle)){
    $line = fgets($fileHandle);
    $lineArr = explode('=', $line);

    if (count($lineArr) !=2){

       continue;
    }
    $part1 = trim($lineArr[0]);
    $part2 = trim($lineArr[1]);
    $simbols = array("$", "[", "]", "'", ";");

  //echo "<pre>$part1 $part2</pre>";
    echo '<form>
            <pre><input type="text" name="content_prt1" size="50" value="' .str_replace($simbols, "",$part1).'"> <input type="text" name="content_prt2" size="50" value="' .str_replace($simbols, "",$part2).'"></pre>         
          <form />';
    }
  echo '<input type="submit" value="Submit">';
  fclose($fileHandle) or die ("Error closing file!");
?>

EDIT code for the updatefile.php

<?php


    if(isset($_REQUEST['submit1'])){
        $handle = fopen("test_file_1.php", "a") or die ("Error opening file!");;
        $file_contents = $_REQUEST["content_prt1" . "content_prt1"];
        fwrite($handle, $file_contents);
        fclose($handle);


    }

    ?>

the code stops at error opening file


Solution

  • If you look at the at purely submitting point of view then put the submit button inside the <form> tags Also, the closing form tags must be form and not from. The updatefile.php I refer to is the file that you post the input box type text to that will update the file of the database field. Remember to close the file before writing to it again. Hope this helps.

        <?php 
        $relPath = 'test_file_1.php'; 
        $fileHandle = fopen($relPath, 'r') or die("Failed to open file $relPath go and make me a sandwich! ");
    
        echo '<form action="updatefile.php" method="POST">';
    
        while(!feof($fileHandle))
        {
            $line = fgets($fileHandle);
            $lineArr = explode('=', $line);
    
            if (count($lineArr) !=2){
    
               continue;
            }
    
            $part1 = trim($lineArr[0]);
            $part2 = trim($lineArr[1]);
            $vowels = array("$", "[", "]", "'", ";");
    
    
                echo '<pre><input type="text" name="content_prt1" size="50" value="' .str_replace($vowels, "",$part1).'"> 
                        <input type="text" name="content_prt2" size="50" value="' .str_replace($vowels, "",$part2).'"> 
    
                </pre>';         
    
         }   
    
         echo '<input type="submit" value="Submit">';
         echo '<form>';
    
         fclose($fileHandle) or die ("Error closing file!"); 
    ?>