Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Отправка почты с помощью Ajax и Codeigniter (https://javascript.ru/forum/dom-window/44753-otpravka-pochty-s-pomoshhyu-ajax-i-codeigniter.html)

Vladimirtishenko 31.01.2014 21:29

Отправка почты с помощью Ajax и Codeigniter
 
Прошу подсказать:

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

<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

Цитата:

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

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


Часовой пояс GMT +3, время: 02:04.