PHP Mailer:如何将select选项的值解析为参数

时间:2017-07-18 17:02:20

标签: php phpmailer

我需要解析php mailer函数函数内的$_POST['Country']参数。我通过javascript获取了它的价值:

var country = $("#country").val();

如何在php脚本和正文中解析此参数以查看选项? 我需要把某个地方放在php那个值,到目前为止我得到500个内部错误。

输入的HTML:

  <select name="countryName" id="country" name="country">
      <option value="cy">Κύπρος</option>
      <option value="gr">Ελλάδα</option>
      <option value="other">άλλη</option>
    </select>

然后用ajax我这样做:

$.ajax({
            type: 'POST',
            url: '../../sendemail.php',
            data: {
                Name: name,
                Email: email,
                message: Message,
                Country : country,

            },

这是php代码:

if(empty($_POST['Email'])){
        $_POST['Email']= "";
    }
    if(empty($_POST['Name'])){
        $_POST['Name']= "";
    }
    if(empty($_POST['Subject'])){
        $_POST['Subject']= "";
    }
    if(empty($_POST['message'])){
        $_POST['message']= "";
    }



if (isset($_POST["message"]) && !empty($_POST["message"])) {

 $mymail=smtpmailer("webdominar1@gmail.com",$_POST['Email'], $_POST  ['Name'],
 $_POST['Subject'], $_POST['message']);    


}else{  
    header('Location: http://google.com'); exit();

}



function smtpmailer($to, $from, $from_name, $subject, $body) {

1 个答案:

答案 0 :(得分:0)

如果我理解正确,则无法解析“选择”输入选项,因为只有所选选项的值才会通过表单发送。

$_POST['Country'] var将具有所选输入的所选选项的值。

  

更新:

PHP SIDE:

<?php
    $options = json_decode($_POST["country"]);
?>

 function sendAjax(){

      // Get the options of select input
        var selectOptions = document.getElementById("country");
	var countries = [];
	for (i = 0; i < selectOptions.length; i++) {
		countries.push(selectOptions.options[i].value);
	}
    // Parse the array with all the options into JSON
	var parsedOptions = JSON.stringify(countries);

    // Send the AJAX request
	$.ajax({
		type: 'POST',
		url: '../../sendemail.php',
		data: {
		Country : parsedOptions,
	   }
	});
  }
   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="country" id="country">
    	<option value="USA">USA</option>
    	<option value="Brazil">Brazil</option>
    	<option value="Israel">Israel</option>
</select>

<button onClick="sendAjax()">Send</button>