<?php
ob_start();
date_default_timezone_set("Asia/Dhaka");
//Transations Add Actions
// connect to the database
    include('../includes/connection.php');
	

if (isset($_POST['contactsave'])) { // if save button on the form is clicked
    // name of the uploaded file
	
	
	$name = $_POST['name'];
	$phone = $_POST['phone'];
	$email = $_POST['email'];
	$subject = $_POST['subject'];
	$message = $_POST['message'];
    
	
            $sql = "INSERT INTO contact_massage (name, phone, email, subject, message, type ) VALUES
			('$name', '$phone', '$email', '$subject', '$message', 'contact page')";
            if (mysqli_query($conn, $sql)) {
                $msg= "Thank You.... $name , The message has been sent Successfully .";
            
        } else {
            echo "Failed to upload .";
			
        }
    }

header("location:contact.php?msg=".$msg);
ob_end_flush();
?> 