<?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'];
	$EmployeeName = $_POST['EmployeeName'];
	$Salary = $_POST['Salary'];
	$PayAmount = $_POST['PayAmount'];
	$Paymentmethod = $_POST['Paymentmethod'];
	$ProjectName = $_POST['ProjectName'];
	$Remarks = $_POST['Remarks'];	
    $ReceivedBy = $_POST['ReceivedBy']; 
	$PaymentBy = $_POST['PaymentBy'];
	$TUserId = $_SESSION['UserId'];
	
	

			
            $sql = "INSERT INTO employee_transations (PaymentDate, EmployeeName, Salary, PayAmount, Paymentmethod, ProjectName, Remarks, ReceivedBy, PaymentBy, TUserId ) VALUES
			('$PaymentDate', '$EmployeeName', '$Salary', '$PayAmount', '$Paymentmethod', '$ProjectName', '$Remarks', '$ReceivedBy', '$PaymentBy', '$TUserId')";

            if (mysqli_query($conn, $sql)) {
                $msg= "uploaded successfully";
            
        } else {
            echo "Failed to upload file.";
			
        }
    }

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