Are there any specific PHP functions or techniques that can be used to maintain input data in a form after displaying error messages?

When displaying error messages in a form after submission, it is common practice to maintain the input data so that users do not have to re-enter everything. One way to achieve this is by using PHP functions like `htmlspecialchars()` to sanitize user input and `$_POST` or `$_GET` superglobals to retrieve and display the input data.

// Check if form is submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Retrieve and sanitize user input
    $name = htmlspecialchars($_POST["name"]);
    $email = htmlspecialchars($_POST["email"]);
    
    // Validate input data
    if (empty($name)) {
        $name_error = "Name is required";
    }
    if (empty($email)) {
        $email_error = "Email is required";
    }
}

// Display form with input data and error messages
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
    <input type="text" name="name" value="<?php echo isset($name) ? $name : ''; ?>">
    <span><?php echo isset($name_error) ? $name_error : ''; ?></span>
    
    <input type="text" name="email" value="<?php echo isset($email) ? $email : ''; ?>">
    <span><?php echo isset($email_error) ? $email_error : ''; ?></span>
    
    <input type="submit" value="Submit">
</form>