Привет люди!
Столкнулся с проблемой.
Написал форму с зависимыми списками. Страна, регион, город.
Все подтягивается из БД.
Вопрос:
Как это все дело зафиксировать и отправить на почту?
Так же написал скрипт PHP , но на почту вместо названий стран и городов приходят id значения из value. А надо, чтобы на почту приходили названия.
<form class="messages" id="ajaxform" action="sendmail.php" method="post" >
<input type="text" class="email" id="user_name" name="name" placeholder="Ваше имя" required="" value="" >
<input type="email" class="password" id="user_email" name="email" placeholder="Ваша электронная почта" required="" value="">
<select name="country_id" id="country_id" class="form-control option-alsols" value="">
<option value="0">- Страна отправления -</option>
<option value="3159">Россия</option>
<option value="9908">Украина</option>
<option value="248">Беларусь</option>
<option value="245">Армения</option>
<option value="81">Азербайджан</option>
<option value="9638">Туркменистан</option>
<option value="9787">Узбекистан</option>
<option value="2303">Киргызстан</option>
<option value="1894">Казахстан</option>
<option value="2788">Молдова</option>
<option value="9575">Такжикистан</option>
</select>
<select name="region_id" id="region_id" disabled="disabled" class="form-control option-alsols" value="";>
<option value="0">- Регион отправления -</input>
</select>
<select name="city_id" id="city_id" disabled="disabled" class="form-control option-alsols" value="";>
<option value="0">- Город отправления -</input>
</select>
<select name="strana" id="strana" class="form-control option-alsols" value="";>
<option value="0">- Страна доставки -</option>
<option value="3159">Россия</option>
<option value="9908">Украина</option>
<option value="248">Беларусь</option>
<option value="245">Армения</option>
<option value="81">Азербайджан</option>
<option value="9638">Туркменистан</option>
<option value="9787">Узбекистан</option>
<option value="2303">Киргызстан</option>
<option value="1894">Казахстан</option>
<option value="2788">Молдова</option>
<option value="9575">Такжикистан</option>
</select>
<select name="regio" id="regio" disabled="disabled" class="form-control option-alsols" value="";>
<option value="0">- Регион доставки -</option>
</select>
<select name="city" id="city" disabled="disabled" class="form-control option-alsols" value="0">
<option value="0">- Город доставки -</option>
</select>
<select name="tip" id="tip" class="form-control option-alsols" value="">
<option>Тип груза</option>
<option>EUR-паллет</option>
<option>FIN-паллет</option>
<option>US-паллет</option>
</select>
<input type="submit" id="submit" class="hvr-shutter-in-vertical" value="Отправить">
</form>
Обработчик PHP формирование и отправка письма:
<?php
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}
if (isset($_POST['email'])) {$email = $_POST['email']; if ($email == '') {unset($email);}}
if (isset($_POST['country_id'])) {$country_id = $_POST['country_id']; if ($country_id == '') {unset($country_id);}}
if (isset($_POST['region_id'])) {$region_id = $_POST['region_id']; if ($region_id == '') {unset($region_id);}}
if (isset($_POST['city_id'])) {$city_id = $_POST['city_id']; if ($city_id == '') {unset($city_id);}}
if (isset($_POST['strana'])) {$strana = $_POST['strana']; if ($strana == '') {unset($strana);}}
if (isset($_POST['regio'])) {$regio = $_POST['regio']; if ($regio == '') {unset($regio);}}
if (isset($_POST['city'])) {$city = $_POST['city']; if ($city == '') {unset($city);}}
if (isset($_POST['tip'])) {$tip = $_POST['tip']; if ($tip == '') {unset($tip);}}
if (isset($name) && isset($email) && isset($country_id) && isset($region_id) && isset($city_id) && isset($strana) && isset($city) && isset($regio) && isset($tip)){
$address = "*****@gmail.com";
$mes = "Имя: $name \nE-mail: $email \nИз страны: $country_id \nИз региона: $region_id \nИз города: $city_id \nВ страну: $strana \nВ регион: $regio \nВ город: $city \nТип груза: $tip";
$send = mail ($address,$country_id,$mes,"Content-type:text/plain; charset = UTF-8\r\nFrom:$email");
if ($send == 'true')
{echo "Сообщение отправлено . Вы будете направлены на главную страницу блога <a href=''></a>,где сможете продолжить ваш просмотр";}
else {echo "Ошибка, сообщение не отправлено!";}
}
else
{
echo "Вы заполнили не все поля, вернитесь назад и заполните необходимые поля!";
}
?>
И собственно сама выпадашка на js:
$(document).ready(function () {
$('#country_id').change(function () {
var country_id = $(this).val();
if (country_id == '0') {
$('#region_id').html('<option>- Регион отправления -</option>');
$('#region_id').attr('disabled', true);
$('#city_id').html('<option>- Город отправления-</option>');
$('#city_id').attr('disabled', true);
return(false);
}
$('#region_id').attr('disabled', true);
$('#region_id').html('<option>загрузка...</option>');
var url = 'get_regions.php';
$.get(
url,
"country_id=" + country_id,
function (result) {
if (result.type == 'error') {
alert('error');
return(false);
}
else {
var options = '';
$(result.regions).each(function() {
options += '<option value="' + $(this).attr('region_id') + '">' + $(this).attr('name') + '</option>';
});
$('#region_id').html('<option value="0">- Регион отправления -</option>'+options);
$('#region_id').attr('disabled', false);
$('#city_id').html('<option>- Город отправления -</option>');
$('#city_id').attr('disabled', true);
}
},
"json"
);
});
$('#region_id').change(function () {
var region_id = $(this).val(); //$('#region_id :selected').val();
//alert (region_id);
if (region_id == '0') {
$('#city_id').html('<option>- Город отправления -</option>');
$('#city_id').attr('disabled', true);
return(false);
}
$('#city_id').attr('disabled', true);
$('#city_id').html('<option>загрузка...</option>');
var url = 'get_city.php';
$.get(
url,
"region_id=" + region_id,
function (result) {
if (result.type == 'error') {
alert('error');
return(false);
}
else {
var options = '';
$(result.citys).each(function() {
options += '<option value="' + $(this).attr('city_id') + '">' + $(this).attr('name') + '</option>';
});
$('#city_id').html('<option value="0">- Город отправления -</option>'+options);
$('#city_id').attr('disabled', false);
$('#city_id').change(function(){
var value = $('#city_id :selected').text();
var city_id = $('#city_id :selected').val();
if (city_id !== '0') {
$('#selectBoxInfo').html('Выбран '+ value).
fadeIn(1000,function(){
$(this);
});
}
});
}
},
"json"
);
});
});
$(document).ready(function () {
$('#strana').change(function () {
var country_id = $(this).val();
if (country_id == '0') {
$('#regio').html('<option>- Регион доставки -</option>');
$('#regio').attr('disabled', true);
$('#city').html('<option>- Город доставки-</option>');
$('#city').attr('disabled', true);
return(false);
}
$('#regio').attr('disabled', true);
$('#regio').html('<option>загрузка...</option>');
var url = 'regio.php';
$.get(
url,
"country_id=" + country_id,
function (result) {
if (result.type == 'error') {
alert('error');
return(false);
}
else {
var options = '';
$(result.regions).each(function() {
options += '<option value="' + $(this).attr('region_id') + '">' + $(this).attr('name') + '</option>';
});
$('#regio').html('<option value="0">- Регион доставки -</option>'+options);
$('#regio').attr('disabled', false);
$('#city').html('<option>- Город доставки -</option>');
$('#city').attr('disabled', true);
}
},
"json"
);
});
$('#regio').change(function () {
var region_id = $(this).val(); //$('#region_id :selected').val();
//alert (region_id);
if (region_id == '0') {
$('#city').html('<option>- Город доставки -</option>');
$('#city').attr('disabled', true);
return(false);
}
$('#city').attr('disabled', true);
$('#city').html('<option>загрузка...</option>');
var url = 'city.php';
$.get(
url,
"region_id=" + region_id,
function (result) {
if (result.type == 'error') {
alert('error');
return(false);
}
else {
var options = '';
$(result.citys).each(function() {
options += '<option value="' + $(this).attr('city_id') + '">' + $(this).attr('name') + '</option>';
});
$('#city').html('<option value="0">- Город доставки -</option>'+options);
$('#city').attr('disabled', false);
$('#city').change(function(){
var value = $('#city :selected').text();
var city_id = $('#city :selected').val();
if (city_id !== '0') {
$('#selectBoxInfo').html('Выбран '+ value).
fadeIn(1000,function(){
$(this);
});
}
});
}
},
"json"
);
});
});
Задача не из легких. И информации мало с примерами.