Im trying to get my html form once submitted, then the data gets saved into a mysql database. However once i click the submit button it just takes me to my php code shown in my browser.
Why is it doing this?
Im using XAMP for my environment, also when i check the database no data gets added either.
Any help would be greatly appreciated.
//html form
<div id="contact_form">
<form action="contact_insert.php" method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="surname">
Email: <input type="text" name="email">
<input type="submit">
</form>
</div>
//php contact_insert.php page
<?php
$username="root";
$password="password";
$server="127.0.0.1";
$database="eddiesdb";
$con = mysql_connect($server,$username,$password);
// Check connection
if (mysql_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO customer (FirstName, Surname, EmailAddress)
VALUES
('$_POST[firstname]','$_POST[surname]','$_POST[email]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
You can use this code.. Dont use mysql and mysqli combinations.
Make sure your file has
.php
extension.Make sure you have put your PHP code in
<?php ... ?>
tags.Your script:
You wrote
if (!mysqli_query($con,$sql))
but in$con
, you're usingmysql_connect
, notmysqli_connect
,So, it'll be:
You created object of MySql like this
and you use mysqli_qurey at below like
How it possible??
Your script
your password to local database must be empty and you should keep both the files in htdocs on xammp (form.html and contact_insert.php) in the same folder.