Вход

Просмотр полной версии : Отправка почты с помощью Ajax и Codeigniter


Vladimirtishenko
31.01.2014, 21:29
Прошу подсказать:

есть форма и скрипт вида:


<button class="btn btn-mini disabled" type="button">Инициалы... <i class="icon-user"></i></button><br />
<input type="text" name="fio" id="fio" placeholder="Введите фамилию и имя..." required />
<button class="btn btn-mini disabled" type="button">Email... <i class="icon-envelope"></i></button><br />
<input type="text" name="email" id="email" placeholder="Введите ваш Email..." required />
<button class="btn btn-mini disabled" type="button">Номер телефона... <i class="icon-globe"></i></button><br />
<input type="text" name="number" id="number" placeholder="Введите номер телефона..." required />
<button class="btn btn-mini disabled" type="button">Скайп... <i class="icon-headphones"></i></button><br />
<input type="text" name="skype" id="skype" placeholder="Введите ваш скайп..." />
</div>
<div class="formRight">
<button class="btn btn-mini disabled" type="button">Ваше предложение... <i class="icon-file"></i></button><br />
<textarea name="text" id="text" placeholder="Ваши предложения..." required /></textarea>
<button class="btn" type="submit" onclick="send()">Отправить <i class="icon-retweet"></i></button>



function send()
{
$.post('адресс .php', {fio:$('#fio').val(), email:$('#email').val(), number:$('#number').val(), skype:$('#skype').val(), text:$('#text').val() },
function(data){
$('.sendOK').css('display', 'block');
setTimeout(function(){
$('#openModal').hide(100);
location.reload();
}, 2000)

});
}


И обработчик .php


public function sendus(){

$this->form_validation->set_rules('fio', 'Fio', 'required');
$this->form_validation->set_rules('number', 'Number', 'required');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
$this->form_validation->set_rules('text', 'Text', 'required');

if ($this->form_validation->run() == FALSE)
{
echo 1;
}
else
{
$this->load->library('email');
$this->email->from($this->input->post('email'));
$this->email->to('Vladimirtishenko1@gmail.com');
$this->email->subject('Новое Предложение сайт PAMABC');
$this->email->message('Новое сообщение с сайта:'."\r\n"."\r\n".'От:'.$this->input->post('fio')."\r\nТелефон: ".$this->input->post('number')."\r\nСкайп: ".$this->input->post('skype')."\r\nПочта: ".$this->input->post('email')."\r\n"."\r\nТекст сообщения: ".$this->input->post('text'));
$this->email->send();
echo 0;
}

}



Использую Codeigniter.

не могу понять как сделать чтобы после нажатия кнопки проверялась валидация в обработчике и если все ок выодилась одна картинка, если там ошибка другая,


Сейчас у меня все равно выводиться одна и таже картинка неважно правильно я ввел email или нет.

kostyanet
01.02.2014, 23:36
Про кнопку не понял. Проверяется на сервере? Проверяйте проверялку.

Загадочная кстати, проверка. Вам не все равно кто там какой имейл напишет?

Да, рамки это что-то. На каждый чих надо написать required. Флаги ни один нормальный программист уже не осилит.

kostyanet
01.02.2014, 23:50
$this->form_validation->set_rules('fio', 'Fio', 'required');
$this->form_validation->set_rules('number', 'Number', 'required');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
$this->form_validation->set_rules('text', 'Text', 'required');

Игнат жжот. Перечислил в форму, перечислил валидолу, перечислил сендасу, потом еще перечисли в лог...

Vladimirtishenko
02.02.2014, 19:05
Ну тем немение можете ответить как это реализовать??? кнопка submit

kostyanet
03.02.2014, 05:28
Я уже ответил. Проверяйте что проверяет проверялка.

Это не js вообще, вам в рубрику серверов вообще-то.

Игнатовская форм-валидейшн что-то выдает по полям или в целом возвращает false?

И второе, проверки на false как правило делаются и по типу

if($v) === false.

kostyanet
03.02.2014, 05:30
Сейчас у меня все равно выводиться одна и таже картинка неважно правильно я ввел email или нет.

Для начала было бы неплохо донести какой получаете результат. Из цитаты выше совершенно не ясно получаете вы ЛОШЬ или ТРУЕ в итоге.