How can AJAX be utilized to update PHP variables dynamically without page refresh?

To update PHP variables dynamically without a page refresh, AJAX can be utilized to send asynchronous requests to the server and update the variables based on the response without reloading the entire page.

<?php
// This is a simple PHP script that updates a variable dynamically using AJAX

// Initialize the variable
$dynamicVariable = "Initial Value";

// Check if AJAX request has been sent
if(isset($_POST['newValue'])){
    // Update the variable with the new value sent via AJAX
    $dynamicVariable = $_POST['newValue'];
    echo "Variable updated successfully!";
    exit;
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>AJAX Dynamic Variable Update</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <h1>Dynamic Variable: <span id="dynamicVariable"><?php echo $dynamicVariable; ?></span></h1>
    
    <input type="text" id="newValueInput" placeholder="Enter new value">
    <button id="updateBtn">Update Variable</button>

    <script>
        $(document).ready(function(){
            $("#updateBtn").click(function(){
                var newValue = $("#newValueInput").val();
                $.post(window.location.href, {newValue: newValue}, function(data){
                    alert(data);
                    $("#dynamicVariable").text(newValue);
                });
            });
        });
    </script>
</body>
</html>