<?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['isp_customer_save'])) { // if save button on the form is clicked
    // name of the uploaded file
	
	$IspId = $_POST['IspId'];
	$Name = $_POST['Name'];
	$PhoneNo = $_POST['PhoneNo'];
	$RegistationDate = $_POST['RegistationDate'];
	$PaymentDate = $_POST['PaymentDate'];
	$Amount = $_POST['Amount'];
    $Status = $_POST['Status']; 
	$Note = $_POST['Note'];
	$PUserId = $_SESSION['UserId'];
	
            $sql = "INSERT INTO ispcustomer (IspId, Name, PhoneNo, RegistationDate, PaymentDate, Amount,  Status, Note, PUserId ) VALUES
			('$IspId', '$Name', '$PhoneNo', '$RegistationDate', '$PaymentDate', '$Amount', '$Status', '$Note','$PUserId')";
            if (mysqli_query($conn, $sql)) {
                $msg= "uploaded successfully";
            
        } else {
            echo "Failed to upload .";
			
        }
    }

header("location:ispcustomeradd.php?msg=".$msg);
ob_end_flush();
?> 