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">×</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">×</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">×</span>
</button>
</div>
<?php
}
?>
Lire la suite >