As the title said, I cannot insert a contact form (using Bootstrap) into MySQL (I'm using mysqli). Below is my php script:
<?php
$conn = mysqli_connect('localhost', 'root', 'mypassword', 'mydbname');
if (!$conn) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
if(isset($_POST['submit'])){
$sql = mysqli_query($conn, "INSERT INTO `contacts` (`firstName`, `lastName`, `dayOfBirth`, `phone`, `gender`, `email`) VALUES('".$_POST['firstName']."', '".$_POST['lastName']."', '".$_POST['birthday']."', '".$_POST['phone']."', '', '".$_POST['email']."')");
}
mysqli_close($conn);
?>
And below is my contact form using bootstrap:
<div class="container">
<div class="row">
<h2>Contact Form</h2>
<form class="form-horizontal" method="POST">
<div class="form-group">
<label class="control-label col-xs-2">First Name:</label>
<div class="col-xs-10">
<input type="text" class="form-control" name="firstName" placeholder="First Name">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">Last Name:</label>
<div class="col-xs-10">
<input type="text" class="form-control" name="lastName" placeholder="Last Name">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">DoB:</label>
<div class="col-sm-6 col-md-2">
<div class="input-group date" id="birthday">
<input type="text" class="form-control" name="birthday">
<span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span> </div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">Phone/Mobile:</label>
<div class="col-xs-10">
<input type="text" class="form-control" name="phone" placeholder="Phone/Mobile">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">Gender:</label>
<div class="col-xs-10">
<label class="radio-inline">
<input type="radio" name="gender" value="M">
Male</label>
<label class="radio-inline">
<input type="radio" name="gender" value="F">
Female</label>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">Email:</label>
<div class="col-xs-10">
<input type="email" class="form-control" name="email" placeholder="Email">
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-2 col-xs-10">
<button type="submit" class="btn btn-primary" name="submit" value="Submit">Submit</button>
</div>
</div>
</form>
</div>
</div>
It seems like $conn
have no problem, I can connect to database without error, but the query may have problem. When I submit, no data is inserted into the database, however, it does not show error.
Also, if needed, all columns in db are allowed NULL
, I also have 1 colum named id
(which is auto_increment), and to remind, I want to insert into phpmyadmin, not mysql. Can anyone help me to find out what's problem?
P/s: I'm using wampserver, if it does matter.
P/s 2: FOUND the error!!!
Make sure you are really connected to your database. Then add the action attribute into your bootstrap form.
<form class="form-horizontal" action="page where insert code happens" method="POST">
You have made some syntax errors in your query code.. Try this..Works !!
Also, please note that you are inserting into MYSQL and it is part of the WAMP or XAMP stack. PHPMYADMIN is administration part for managing databases.
<?php
$conn = mysqli_connect('localhost', 'root', '', 'db_sandbox');
if (!$conn) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
if(isset($_POST['submit'])){
$firsname = $_POST['firstName'];
$lastName = $_POST['lastName'];
$birthday = $_POST['birthday'];
$phone = $_POST['phone'];
$gender = $_POST['gender'];
$email = $_POST['email'];
$query = "INSERT INTO contacts (firstName, lastName, dayOfBirth, phone, gender, email) VALUES('".$firsname."', '".$lastName."', ".$birthday.", ".$phone.", '".$gender."', '".$email."')";
$sql = mysqli_query($conn, $query);
}
mysqli_close($conn);
?>
<div class="container">
<div class="row">
<h2>Contact Form</h2>
<form class="form-horizontal" method="POST" action="index.php">
<div class="form-group">
<label class="control-label col-xs-2">First Name:</label>
<div class="col-xs-10">
<input type="text" class="form-control" name="firstName" placeholder="First Name">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">Last Name:</label>
<div class="col-xs-10">
<input type="text" class="form-control" name="lastName" placeholder="Last Name">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">DoB:</label>
<div class="col-sm-6 col-md-2">
<div class="input-group date" id="birthday">
<input type="text" class="form-control" name="birthday">
<span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span> </div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">Phone/Mobile:</label>
<div class="col-xs-10">
<input type="text" class="form-control" name="phone" placeholder="Phone/Mobile">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">Gender:</label>
<div class="col-xs-10">
<label class="radio-inline">
<input type="radio" name="gender" value="M">
Male</label>
<label class="radio-inline">
<input type="radio" name="gender" value="F">
Female</label>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2">Email:</label>
<div class="col-xs-10">
<input type="email" class="form-control" name="email" placeholder="Email">
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-2 col-xs-10">
<button type="submit" class="btn btn-primary" name="submit" value="Submit">Submit</button>
</div>
</div>
</form>
</div>
</div>