What are the best practices for maintaining form values when submitting one form affects the values of another form in PHP?

When submitting one form that affects the values of another form in PHP, the best practice is to store the form values in session variables. This way, the values can be accessed and maintained across multiple form submissions. By storing the form values in session variables, you can ensure that the values are retained even when navigating between different forms on the same page.

<?php
session_start();

// Check if form 1 is submitted
if(isset($_POST['form1_submit'])){
    // Store form 1 values in session variables
    $_SESSION['form1_value'] = $_POST['form1_value'];
}

// Check if form 2 is submitted
if(isset($_POST['form2_submit'])){
    // Store form 2 values in session variables
    $_SESSION['form2_value'] = $_POST['form2_value'];
}

// Display form 1 with maintained values
echo '<form method="post">';
echo '<input type="text" name="form1_value" value="' . ($_SESSION['form1_value'] ?? '') . '">';
echo '<input type="submit" name="form1_submit" value="Submit Form 1">';
echo '</form>';

// Display form 2 with maintained values
echo '<form method="post">';
echo '<input type="text" name="form2_value" value="' . ($_SESSION['form2_value'] ?? '') . '">';
echo '<input type="submit" name="form2_submit" value="Submit Form 2">';
echo '</form>';
?>