Contact form with mail function

Contact form with mail function and Storing data in the database – Mini Project

Project NameContact form with mail function and Storing data in the database
Language UsedPHP5.6, PHP7.x
DatabaseMySQL 5.x
User Interface DesignHTML, AJAX,JQUERY,JAVASCRIPT
Web BrowserMozilla, Google Chrome, IE8, OPERA
SoftwareXAMPP / Wamp / Mamp/ Lamp (anyone)
Last Updated24 April 2021

Contact form with mail function and Storing in the database project has two modules:

  • User Module
  • admin Module

User Module

SQL table structure for tblcontactdata table where we will store our data

12345678910111213CREATE TABLE `tblcontactdata` (  `id` int(11) NOT NULL,  `FullName` varchar(200) DEFAULT NULL,  `PhoneNumber` char(12) DEFAULT NULL,  `EmailId` varchar(200) DEFAULT NULL,  `Subject` varchar(255) DEFAULT NULL,  `Message` mediumtext,  `UserIp` varbinary(16) DEFAULT NULL,  `PostingDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,  `Is_Read` int(1) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1;ALTER TABLE `tblcontactdata`  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;

Now create an HTML for user inputs. index.php

12345678910111213<form name=”ContactForm” method=”post”><h4>your name</h4><input type=”text” name=”name” class=”user” placeholder=”Johne”  autocomplete=”off” required><h4>your phone number</h4><input type=”text” name=”phonenumber” class=”phone” placeholder=”0900.234.145678″ maxlength=”10″ required autocomplete=”off”><h4>your email address</h4><input type=”email” name=”emailaddres” class=”email” placeholder=”Example@mail.com” required autocomplete=”off”><h4>your subject</h4><input type=”text” name=”subject” class=”email” placeholder=”Subject” autocomplete=”off”><h4>your message</h4><textarea class=”mess” name=”message” placeholder=”Message” required></textarea><input type=”submit” value=”send your message” name=”submit”></form>

MySQL database connection

12345678910111213141516<?php// DB credentials.define(‘DB_HOST’,’localhost’);define(‘DB_USER’,’root’);define(‘DB_PASS’,”);define(‘DB_NAME’,’contactdb’);// Establish database connection.try{$dbh = new PDO(“mysql:host=”.DB_HOST.”;dbname=”.DB_NAME,DB_USER, DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => “SET NAMES ‘utf8′”));}catch (PDOException $e){exit(“Error: ” . $e->getMessage());}?>

Insert Data into Database

1234567891011121314151617181920212223242526272829303132333435363738394041424344include(‘config.php’);if(isset($_POST[‘submit’])){// getting Post values$name=$_POST[‘name’];$phoneno=$_POST[‘phonenumber’];$email=$_POST[’emailaddres’];$subject=$_POST[‘subject’];$message=$_POST[‘message’];$uip = $_SERVER [‘REMOTE_ADDR’];$isread=0;// Insert quaery$sql=”INSERT INTO  tblcontactdata(FullName,PhoneNumber,EmailId,Subject,Message,UserIp,Is_Read) VALUES(:fname,:phone,:email,:subject,:message,:uip,:isread)”;$query = $dbh->prepare($sql);// Bind parameters$query->bindParam(‘:fname’,$name,PDO::PARAM_STR);$query->bindParam(‘:phone’,$phoneno,PDO::PARAM_STR);$query->bindParam(‘:email’,$email,PDO::PARAM_STR);$query->bindParam(‘:subject’,$subject,PDO::PARAM_STR);$query->bindParam(‘:message’,$message,PDO::PARAM_STR);$query->bindParam(‘:uip’,$uip,PDO::PARAM_STR);$query->bindParam(‘:isread’,$isread,PDO::PARAM_STR);$query->execute();$lastInsertId = $dbh->lastInsertId();if($lastInsertId){//mail function for sending mail$to=$email;$headers .= “MIME-Version: 1.0″.”\r\n”;$headers .= ‘Content-type: text/html; charset=iso-8859-1’.”\r\n”;$headers .= ‘From:PHPGurukul Contact Form Demo<info@phpgurukul.com>’.”\r\n”;$ms.=”<html></body><div><div><b>Name:</b> $name,</div><div><b>Phone Number:</b> $phoneno,</div><div><b>Email Id:</b> $email,</div>”;$ms.=”<div style=’padding-top:8px;’><b>Message : </b>$message</div><div></div></body></html>”;mail($to,$subject,$ms,$headers);echo “<script>alert(‘Your info submitted successfully.’);</script>”;}else{echo “<script>alert(‘Something went wrong. Please try again’);</script>”;}}

Click : https://phpgurukul.com/contact-form-with-mail-function-and-storing-data-in-the-database-mini-project

Admin Module

Admin Panel Features 

  • Secure login with password hashing
  • Admin Dashboard
  • Manage Contact’s
  • Report’s
  • Update Remark on the particular contact
  • Notification feature(Admin can get the notification on every contact)
  • Admin Can update email id where he/she want to receive email.
  • Change Password.
  • Logout.
In this project admin and user will a get copy of contact form  on email. Email function will not work on localhost .
Some of the Project Screens

Home Page

Contact-Form-With-Mail-function-and-Database-store-Facility-Home-Page

Admin Dashboard

Contact-Form-Admin-Dashboard
How to run Contactform Mini Project

1. Download the zip file
2. Extract the file and copy the contactform folder
3.Paste inside root directory(for xampp xamp/htdocs, for wamp wamp/www,for lamp var/www/HTML)
4. Open PHPMyAdmin (http://localhost/phpmyadmin)
5. Create a database with name contactdb
6. Import newsportal.sql file(given inside the zip package in an SQL file folder)
7.Run the script http://localhost/contactform (frontend)
8. For admin panel http://localhost/contactform/admin
Credential for admin panel :
username  : admin
Password : Test@123

Blog : https://phpgurukul.com/contact-form-with-mail-function-and-storing-data-in-the-database-mini-project/

Write a Reply or Comment

Your email address will not be published. Required fields are marked *