Добрый день, laimas! Я понимаю что уже порядком надоел Вам свой некомпетентностью, но увы, не знаю как по другому научиться делать правильно, и очень благодарен Вам за то что Вы уже очень помогли!
Сегодня новый день и возникли новые вопросы. Я переделал свой скрипт, учитывая все Ваши правки (некоторые моменты написал по другому, в силу того что не совсем понял что вы имели в виду в предыдущем ответе). Самое главное что теперь скрипт заработал так как нужно, каждая форма обрабатывается им отдельно, и я необычайно этому рад)
Но появилась другая проблема которая поставила меня в тупик окончательно, перестала работать отправка формы. То есть сам скрипт отлично отрабатывает все условия и генерирует отправку. НО сама отправка не происходит - данные в БД не заносятся, и на e-mail соответственно не отправляются.
Могли бы Вы еще разок взглянуть на все мое "творение" в комплексе?
<!-- Форма -->
<form method="post" action="main_c/order_1">
<input type="text" name="name" placeholder="Введите ваше имя *" /><br />
<input type="text" name="phone_1" placeholder="Введите номер телефона *" /><br />
<button type="submit" name="btn_order_1">Жду звонка!</button>
</form>
<!-- EXIT Форма -->
<!-- Скрипт -->
$(function() {
$.valHooks.input = {
get: function(e) {
return $.trim(e.value)
}
};
$("form").submit(function(e){
e.preventDefault();
var f = this,
e = $(f.elements).slice(0, -1);
if(!$.trim(this.name.value) || !$.trim(this.phone_1.value) || !$.trim(this.email.value)){
e.addClass('input-error');
}else{
e.removeClass('input-error');
e.addClass('input-success');
$.ajax({
url: f.action,
type: 'POST',
dataType: 'json',
success: function(data) {
f.reset();
},
});
}
});
})
<!-- EXIT Скрипт -->
<!-- Контролер который обрабатывает форму и генерирует отправку на email -->
function order_1() {
if (isset($_POST['btn_order_1'])) {
header("Cache-Control: no-store, no-cache, must-revalidate");
$client['name'] = $_POST['name'];
$client['phone_1'] = $_POST['phone_1'];
$this->main_model->new_order_1($client);
$this->email->from('ru.marketroll@gmail.com', 'ЗАГОЛОВОК');
$this->email->to('velichko.my.site@gmail.com');
$this->email->subject('ТЕМА');
$this->email->message('Имя: '.$client['name']."\r\n".'Номер телефона: '.$client['phone_1']);
$this->email->send();
echo json_encode($client);
}
}
<!-- EXIT Контролер -->
<!-- Модель которая принимает данные от контролера и вносит их в БД -->
function new_order_1($client){
$array = array(
'name' => $client['name'],
'phone_1' => $client['phone_1']
);
$this->db->insert('client', $array);
}
<!-- EXIT Модель -->
Самое главное что вся эта система работала с тем изначальным (пусть и очень корявым/страшным) скриптом, а сейчас нет, и консоль не дает не каких ошибок, просто нечего не происходит. Я понимаю что причина этого кроется где-то здесь, в алгоритме отправки через AJAX:
$.ajax({
url: f.action,
type: 'POST',
dataType: 'json',
success: function(data) {
f.reset();
},
});
Но в чем именно причина, до меня не как не доходит, перепробовал все что мог и все что знал...