Se connecter

Informatique

Création de sites web

Sujet : Comment executer un script suite a une requete ajax ?
1
Lolopette
Niveau 53
09 novembre 2018 à 16:33:41

Bonjour,

Mon script de la condition if error n'est pas executer ? Comment on fait pour le faire executer ?

<!-- Feedback Button -->
    <div class="position-fixed" style="top: 50%; right: -35px;">
      <button style="transform: rotate(-90deg);" type="button" class="btn btn-cyan" data-toggle="modal" data-target="#modalFeedback"><i class="fas fa-comment fa-rotate-90"></i> Feedback</button>
    </div>
    <div class="modal fade" id="modalFeedback" tabindex="-1" role="dialog" aria-labelledby="modalFeedbackTitle" aria-hidden="true">
      <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="modalFeedbackTitle">Feedback form</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <div class="container-fluid">
              <div id="feedback-return">
                <!-- Feedback return -->
              </div>
              <div class="row">
                <div class="col-md-12">
                  <p class="text-center">
                    This form allows you to provide us feedback on your experience.
                  </p>
                </div>
              </div>
              <div class="row">
                <div class="col-md-12">
                  <?php if (!isConnected())
                 { ?>
                    <div class="form-row mt-3">
                      <div class="form-group col">
                        <label for="feedbackEmail">Email address</label>
                        <input type="email" class="form-control" id="feedbackEmail" name="email" required>
                      </div>
                      <div class="form-group col">
                        <label for="feedbackFirstName">First name</label>
                        <input type="text" class="form-control" id="feedbackFirstName" name="first-name" required>
                      </div>
                    </div>
                    <p class="text-center">
                      <small>
                        If you are not logged in, we ask for some information about you.
                      </small>
                    </p>
                  <?php } ?>
                  <div class="form-group mt-3">
                    <textarea class="form-control" rows="5" id="feedback" required placeholder="To better understand you, thank you for being as specific as possible in your comment."></textarea>
                  </div>
                  <p class="text-center text-muted">
                    If necessary we will come back to you.
                  </p>
                </div>
              </div>
            </div>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-green" data-dismiss="modal">Close</button>
            <button type="button" class="btn btn-purple" onclick="sendFeedback('<?php echo $_SESSION['account']['email']; ?>', '<?php echo $_SESSION['account']['first_name']; ?>', feedback.value, <?php echo $_SESSION['account']['user_id']; ?>)">Send feedback</button>
          </div>
        </div>
      </div>
    </div>
 
 
 
 
 
 
 
 
 
 
function sendFeedback(email, firstName, message, userID = NULL)
{
  var xmlhttp = Request();
  xmlhttp.onreadystatechange = function()
  {
    if (this.readyState == 4 && this.status == 200)
   {
     document.getElementById("feedback-return").innerHTML = this.responseText;
    }
  };
  xmlhttp.open("POST", "/public/assets/function/sendfeedback.php", true);
  xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlhttp.send(`email=${email}&firstName=${firstName}&message=${message}&userID=${userID}`);
}
 
 
 
 
 
 
<?php
session_start();
require "$_SERVER[DOCUMENT_ROOT]/public/assets/function/functions.php";
 
$email = verifyInput($_POST['email']);
$first_name = verifyInput($_POST['firstName']);
$message = verifyInput($_POST['message']);
$user_id = $_POST['userID'];
$error = false;
 
// Verify email input
if (empty($email))
{
 $_SESSION['errors']['email'] = "An email is required";
 $error = true;
}
else
{
 if (!filter_var($email, FILTER_VALIDATE_EMAIL))
 {
   $_SESSION['errors']['email'] = "Invalid email format";
   $error = true;
 }
}
 
// Verify first name input
if (empty($first_name))
{
 $_SESSION['errors']['first_name'] = "A first name is required";
 $error = true;
}
else
{
 if (strlen($first_name) < 1 || strlen($first_name) > 100)
  {
    $_SESSION['errors']['first_name'] = "Your first name is too long";
    $error = true;
  }
}
 
// Verify message input
if (empty($message))
{
  $_SESSION['errors']['message'] = "A message is required";
  $error = true;
}
else
{
  if (strlen($message) < 1)
 {
   $_SESSION['errors']['message'] = "Your message is too short";
   $error = true;
 }
}
 
if (!$error)
{
 // Send the feedback
 $db = connectDb();
 $query = $db->prepare('INSERT INTO feedback (user_id, user_email, user_first_name, message) VALUES (:user_id, :user_email, :user_first_name, :message)');
  $query->bindParam(':user_id', $user_id);
  $query->bindParam(':user_email', $email);
  $query->bindParam(':user_first_name', $first_name);
  $query->bindParam(':message', $message);
  $query->execute();
 
  ?>
  <div class="row">
    <div class="col-md-12">
      <div class="alert alert-success alert-dismissible fade show text-center" role="alert">
        Thank you for your feedback.
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
    </div>
  </div>
  <script type="text/javascript">
    document.getElementById("feedback").value = '';
  </script>
  <?php
}
else
{
 ?>
  <div class="alert alert-danger alert-dismissible fade show text-center" role="alert">
    An error occurred when sending your feedback.
    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
      <span aria-hidden="true">&times;</span>
    </button>
  </div>
  <?php
}
 
?>
1
Sujet : Comment executer un script suite a une requete ajax ?
   Retour haut de page
Consulter la version web de cette page