Contact form with mail function and Storing in the database project has two module : User Module admin Module User Module Sql table structure for tblcontactdata table where we will store our data
1 2 3 4 5 6 7 8 9 10 11 12 13 |
CREATE 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 a HTML for user inputs. index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
include('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>"; } } |