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

if (isset($_POST['savetransations'])) { // if save button on the form is clicked
    // name of the uploaded file
	
	$PaymentDate = $_POST['PaymentDate'];
	$ProjectName = $_POST['ProjectName'];
	$Amount = $_POST['Amount'];
	$paymentmethod = $_POST['paymentmethod'];
	$Remarks = $_POST['Remarks'];		
    $ReceivedBy = $_POST['ReceivedBy']; 
	$PaymentBy = $_POST['PaymentBy'];
	$PTUserId = $_SESSION['UserId'];
	
            $sql = "INSERT INTO project_transations (PaymentDate, ProjectName, Amount, paymentmethod, Remarks, ReceivedBy, PaymentBy, PTUserId ) VALUES
			('$PaymentDate', '$ProjectName', '$Amount', '$paymentmethod', '$Remarks', '$ReceivedBy', '$PaymentBy', '$PTUserId')";
            if (mysqli_query($conn, $sql)) {
                
            echo 
  
     $msg= "uploaded successfully";
            
        } else {
            echo "Failed to upload file.";
			
        }
    }

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