I am making a calendar web app and when I click on a date a form pops up. If I use $_SERVER["REQUEST_METHOD"] == "POST" or isset($_POST['submit']) to check whether the form is submitted or not, the echo code executes even when I refresh the page and don't click on submit. How can I make sure that the form data is retrieved only when I submit the form?
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> Event Title:<br> <input type="text" name="eventTitle" id="eventTitle" maxlength="15" size="20" placeholder="Code.fun.do" required><br><br> Event Description:<br> <textarea name="eventDescription" rows="5" cols="50"></textarea><br><br> From:<br> <input type="time" name="eventTimeFrom"><br><br> To:<br> <input type="time" name="eventTimeTo"><br><br> <input id="eventSave" type="submit" name="submit" value="Save"> </form> <?php $eventTitle = $eventDescription = $eventTimeFrom = $eventTimeTo = ""; //if ($_SERVER["REQUEST_METHOD"] == "POST") { if(isset($_POST['submit'])) { echo "<h2>something</h2>"; $eventTitle = test_input($_POST["eventTitle"]); $eventDescription = test_input($_POST["eventDescription"]); $eventTimeFrom = test_input($_POST["eventTimeFrom"]); $eventTimeTo = test_input($_POST["eventTimeTo"]); } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?>