When I open the email the message is always empty, I get the name and email but message is empty, I recently added google recaptcha v3 which was giant pain , but It is now working. anyway I tried to debug this, and It show no errors, the message textarea send to email but I receive it empty...
this is the form
<?php
if(isset($_POST['submit'])){
  $captcha=$_POST['token'];
  $secret   = 'censord';
  $response = file_get_contents(
      "https://www.google.com/recaptcha/api/siteverify?secret=" . $secret . "&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']
  );
  // use json_decode to extract json response
  $response = json_decode($response);
if($response->success == true) {
    //save data to database
    echo '<div class="alert alert-success">
    <strong>Success!</strong> Data is saved.
    </div>';
} else {
    echo '<div class="alert alert-warning">
    <strong>warning!</strong> Failed to save data.
    </div>';
}
}
?>
    <style>
    </style>
  </head>
  <body>
<?php
  if(isset($_POST['submit'])){
    $name = htmlspecialchars(stripslashes(trim($_POST['username'])));
    $email = htmlspecialchars(stripslashes(trim($_POST['email'])));
    $text = htmlspecialchars(stripslashes(trim($_POST['textt'])));
    if(!preg_match("/^[A-Za-z .'-]+$/", $name)){
      $name_error = 'Invalid name';
    }
    if(!preg_match("/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/", $email)){
      $email_error = 'Invalid email';
    }
    if(strlen($text) === 0){
      $message_error = 'Your message should not be empty';
    }
    if(preg_match('/http|www/i',$comments)) {
    $error_message .= "We do not allow a url in the comment.<br />";
  }
  }
?>
  <div id="container">
    <div class="form-wrap">
         <h1>Report bug</h1>
        <p>Report us if you find any bug or broken link in our free online programming classes.</p>
        <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST">
            <div class="form-group">
                <label for="username">Name:</label>
                <input type="text" name="username">
   <p><?php if(isset($name_error)) echo $name_error; ?></p>
            </div>
            <div class="form-group">
                <label for="email">Email:</label>
                <input type="email" name="email">
                  <p><?php if(isset($email_error)) echo $email_error; ?></p>
            </div>
            <div class="form-group">
                <label for="textt">Message:</label>
                <textarea type="text" name="textt" rows="22" cols="42"></textarea>
   <p><?php if(isset($message_error)) echo $message_error; ?></p>
</div>
                <button type="submit" name="submit" value="Submit" class="btn">Report us</button>
    <input type="hidden" name="action" value="validate_captcha">
 <?php 
    if(isset($_POST['submit']) && !isset($name_error) && !isset($subject_error) && !isset($email_error) && !isset($message_error)){
      $to = 'censord'; // edit here
      $body = " Name: $name\n E-mail: $email\n Message:\n $message";
      if(mail($to, $subject, $body)){
        echo '<p style="color: green">Message sent</p>';
      }else{
        echo '<p>Error occurred, please try again later</p>';
      }
    }
  ?>
        </form>
      </div>
    </div>
  </body>
  <script>
grecaptcha.ready(function() {
    grecaptcha.execute('censord', {action: 'validate_captcha'}).then(function(token) {
       console.log(token);
       document.getElementById("token").value = token;
    });
});
</script>
</html>
 
    