我需要解析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) {
答案 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>