-1

I have a page where users can send feedbacks however when I hit send, I get the error and this shows up:

Error

Here's my insert-message.php:

<?php
require_once ('database.php');

if (isset($_POST['send'])) {

$employee_id = $_POST['employee_id'];
$full_name = $_POST['full_name'];
$email = $_POST['email'];
$website = ($_POST['website']);
$message = ($_POST['message']);

{
$database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$insert_query = "INSERT INTO tbl_feedback (employee_id, full_name, email, website, message)
VALUES (?, ?, ?, ?)";

$insert = $database->prepare($insert_query);
$insert->execute(array($employee_id, $full_name, $email, $website, $message));

echo "<script>alert('Successfully sent!'); window.location='feedback.php'</script>";
}
}
?>

Here's my form:

<div class="row">
 <div class="col-xs-6">
  <form method="post" action="insert-message.php">
   <div class="form-group">
    <label for="exampleInputPassword1">Employee ID<span style="color:#d0d0d0;"> (required)</span></label>
    <input type="text" readonly="readonly" class="form-control" name="employee_id" value="<?php echo $user_id; ?>" autofocus="autofocus" required />
   </div>
   <div class="form-group">
    <label for="exampleInputPassword1">Name<span style="color:#d0d0d0;"> (required)</span></label>
    <input type="text" readonly="readonly" class="form-control" name="full_name" value="<?php echo $fullname; ?>" autofocus="autofocus" required />
   </div>
   <div class="form-group">
    <label for="exampleInputEmail1">Email Address <span style="color:#d0d0d0;">(required)</span></label>
    <input type="email" class="form-control" name="email" required />
   </div>
   <div class="form-group">
    <label for="exampleInputEmail1">Website</label>
    <input type="text" class="form-control" name="website">
   </div>
   <div class="form-group">
    <label for="exampleInputEmail1">Your Message <span style="color:#d0d0d0;">(required)</span></label>
    <textarea class="form-control" name="message" style="height:200px;" required ></textarea>
   </div>
   
   <a href="home"><button type="button" class="btn btn-primary"><i class="glyphicon glyphicon-arrow-left"></i> Back</button></a>
   <button type="submit" name="send" class="btn btn-primary"><i class="glyphicon glyphicon-send"></i> Send</button>
   
  </form>
 </div>
</div>

The form works fine, it's just the error when I hit send. Also, I do have 2 tables in my database, feedback and employee. "employee_id" acts as foreign key referencing "id" in employee table.

I'm not sure if you guys needed that but I might as well add that information.

Andre F
  • 33
  • 6

1 Answers1

0

You have only 4 place holder in your query VALUES (?, ?, ?, ?)"; but you bind 5 values. And you have also specified 5 columns in your query. I think you miss an additional question mark.

Jens
  • 67,715
  • 15
  • 98
  • 113