<?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 , The message has been sent Successfully .";
            
        } else {
            echo "Failed to upload .";
			
        }
    }

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