I'm not sure if it's cause i'm really tired or what; I can't seem to figure out why i can't insert into my database with this code.
<?php require 'mysqlcon.php'; ?> <?php if(isset($_POST["submit"])){ try { $dbh = new PDO("mysql:host=$hostname;dbname=CSY2028",$username,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line $sql = "INSERT INTO bookings (name, email) VALUES ('".$_POST["name"]."','".$_POST["email"]."')"; if ($dbh->query($sql)) { header("location: index.php"); echo "<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>"; } else{ echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>"; } $dbh = null; } catch(PDOException $e) { echo $e->getMessage(); } } ?> I have the following table i've checked that the ID's, names are all the same & matching. It's just not inserting anything?
<?php require 'mysqlcon.php'; ?> <!-- Main --> <section id="main" class="wrapper"> <div class="container"> <section> <h3>Book Novelty Vehicle</h3> <form action="bookingsql.php" method="post"> <div class="row uniform 50%"> <div class="6u 12u$(xsmall)"> <input type="text" name="name" id="name" value="name" placeholder="Name" /> </div> <div class="6u$ 12u$(xsmall)"> <input type="email" name="email" id="email" value="email" placeholder="Email" /> </div> <div class="6u 12u$(xsmall)"> <input type="text" name="address" id="address" value="" placeholder="Address" /> </div> <div class="6u$ 12u$(xsmall)"> <input type="text" name="pup" id="pup" value="" placeholder="Pick up point" /> </div> <div class="6u 12u$(xsmall)"> <input type="text" name="phone" id="phone" value="" placeholder="Phone Number" /> </div> <div class="6u$ 12u$(xsmall)"> <input type="text" name="event" id="event" value="" placeholder="Event Type" /> </div> <div class="12u$"> <div class="select-wrapper"> <select name="category" id="category"> <option value="">- Novelty Vehicle Option -</option> <option value="1">One</option> <option value="1">Two</option> <option value="1">Three</option> <option value="1">Four</option> </select> </div> </div> <div class="6u$ 12u$(small)"> <input type="checkbox" id="human" name="human"> <label for="human">You are aware this is for booking novelty vehicles only?</label> </div> <div class="12u$"> <textarea name="info" id="info" placeholder="Please give us any additional information, this will help us speed up your booking process." rows="6"></textarea> </div> <div class="12u$"> <ul class="actions"> <li><input type="submit" value="Book Vehicle" class="special" /></li> <li><input type="reset" value="Reset" /></li> </ul> </div> </div> </form> </section> </div> </section>
if(isset($_POST["submit"])){...}since you cut off your form after the email input/div. My guess; it's not firing due to not naming the submit and/or missing</form>tag. Who knows, only you do.idattribute implies javascript/jquery/ajax. If you're using any of that and you didn't include it, then that's another piece of guesswork. If not, then you don't needid, unless you're using those with CSS.name="submit"and your code will work.