--- D:\Inetpub\vhosts\appclients.in\nmvm.org\membership.php ---
<?php
 $apl_name = $_REQUEST['apl_name'];
 $dut_of = $_REQUEST['dut_of'];
 $dob = $_REQUEST['dob'];
 $age = $_REQUEST['age'];
 $p_address = $_REQUEST['p_address'];
 $p_station = $_REQUEST['p_station'];
 $district = $_REQUEST['district'];
 $state = $_REQUEST['state'];
 $pincode= $_REQUEST['pincode:'];
 $mobile = $_REQUEST['mobile'];
 $w_number = $_REQUEST['w_number'];
 $a_card = $_REQUEST['a_card'];
 $email = $_REQUEST['email'];
 $edu_qua = $_REQUEST['edu_qua'];
 $office_address = $_REQUEST['office_address'];
 $court_case = $_REQUEST['court_case'];
 $res_p_no_one = $_REQUEST['res_p_no_one'];
 $res_p_no_two = $_REQUEST['res_p_no_two'];

 $message = "Applicant Name: ".$apl_name."<br>S/o/D/o/W/o: ".$dut_of."<br>Date Of Birth: ".$dob."<br>age: ".$age."Present Address: ".$p_address."<br>Police Station: ".$p_station."<br>District: ".$district."<br>state: ".$state."Pincode: ".$pincode."<br>Mobile No:".$mobile."<br>Whatsapp No.: ".$w_number."<br>Aadhar Card No.: ".$a_card."E-mail: ".$email."<br>Education Qualification : ".$edu_qua."<br>Name and address of the office : ".$office_address."<br>Whether there is any case against you in a Courts : ".$court_case."<br>Reference of Two responsible person of your locality & Mobile No.: ".$res_p_no_one." Second Person ". $res_p_no_two;
 $message .="<br><br>Thanks & Regards";

include('phpmailer/class.phpmailer.php');
$mail = new PHPMailer;
$mail->IsSMTP();                                      // Set mailer to use SMTP
$mail->Host = "nmvm.org";                 // Specify main and backup server
//$mail->Host = "Give IP Address";                 // If the above does not work.
$mail->Port = 25;                                    // Set the SMTP port
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = "info@nmvm.org";                // SMTP username
$mail->Password = "Rh6Ny8?o3ckd7Uhww";               // SMTP password
//$mail->SMTPSecure = "ssl";                            // Enable encryption, 'ssl' also accepted

$mail->From = 'info@nmvm.org';
$mail->FromName = 'nmvm';
$mail->AddAddress($email);  // Add a recipient
$mail->IsHTML(true); 

   //send mail to admin
	$sendmail_admin = $mail->AddAddress("info@nmvm.org","nmvm"); 
	$mail->Subject = "A new order from info@nmvm.org";
	$mail->Body = $message;
	//echo $mail->Send();
	//die();
	if($mail->Send()){
		  echo "<script>alert('Thankyou for contact us my team will contact you soon!')</script>";
		  echo "<script>window.location='member.html'</script>";
	}else{
		 echo "<script>window.location='/'</script>";
		 }
 
?>	

--- D:\Inetpub\vhosts\appclients.in\fruits-vegitables.nmvm.org\admin\config.php ---
<?php
$dbHost="localhost";
$dbUsername="appclien_fruit_vegetables_ur";
$dbPassword="n9k73BDn#u7Xljejh";
$dbName="appclien_fruit_vegetables_db";
$con=mysqli_connect($dbHost,$dbUsername,$dbPassword,$dbName) or die(mysqli_connect_error());
date_default_timezone_set('Asia/Calcutta');
$currentTime=strtotime(date('d-m-Y  H:i:s'));
@session_start();
$url="https://fruits-vegitables.nmvm.org/";
?>

--- D:\Inetpub\vhosts\appclients.in\fruit-vegetables.gkaary.com\admin\config.php ---
<?php
$dbHost="localhost";
$dbUsername="appclien_fruit_vegetables_ur";
$dbPassword="n9k73BDn#u7Xljejh";
$dbName="appclien_fruit_vegetables_db";
$con=mysqli_connect($dbHost,$dbUsername,$dbPassword,$dbName) or die(mysqli_connect_error());
date_default_timezone_set('Asia/Calcutta');
$currentTime=strtotime(date('d-m-Y  H:i:s'));
@session_start();
$url="https://fruit-vegetables.gkaary.com/";
?>

--- D:\Inetpub\vhosts\appclients.in\ekindiatravels.com\admin\config.php ---

<?php
    $dsn = "mysql: host=localhost; dbname=cineholi_ekIndia_db;";
    $db_user = "cineholi_ekIndia";
    $db_pass = "v4uB]?za)fi!";
        try{
            $conn = new PDO($dsn, $db_user, $db_pass);
            // echo "<script>alert ('success')</script>";
        }catch(PDOException $e){
            echo "connection faild";
        }
    session_start();    
?>


--- D:\Inetpub\vhosts\appclients.in\chayadthservices.in\admin\config.php ---

<?php
	$dsn = "mysql: host=localhost; dbname=appclien_dtc_db;";
    $db_user = "appclien_dth_user";
    $db_pass = "u145_ccrcohRaB6jP";
        try{
            $conn = new PDO($dsn, $db_user, $db_pass);
            // echo "<script>alert ('success')</script>";
        }catch(PDOException $e){
            echo "connection faild";
        }
    session_start();    
?>


