Перейти к содержанию

Рекомендуемые сообщения

На странице контактов всегда висят ошибки:

Notice: Undefined index: name in catalog/controller/information/contact.php on line 163
Notice: Undefined index: email in catalog/controller/information/contact.php on line 167
Notice: Undefined index: enquiry in catalog/controller/information/contact.php on line 171 
Notice: Undefined index: name in catalog/controller/information/contact.php on line 163
Notice: Undefined index: email in catalog/controller/information/contact.php on line 167
Notice: Undefined index: enquiry in catalog/controller/information/contact.php on line 171

Ни контроллер, ни шаблон контактов вообще не трогал. Как от них избавиться и почему они ищут эти переменные?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, alinalessioYandex сказал:

На странице контактов всегда висят ошибки:


Notice: Undefined index: name in catalog/controller/information/contact.php on line 163
Notice: Undefined index: email in catalog/controller/information/contact.php on line 167
Notice: Undefined index: enquiry in catalog/controller/information/contact.php on line 171 
Notice: Undefined index: name in catalog/controller/information/contact.php on line 163
Notice: Undefined index: email in catalog/controller/information/contact.php on line 167
Notice: Undefined index: enquiry in catalog/controller/information/contact.php on line 171

Ни контроллер, ни шаблон контактов вообще не трогал. Как от них избавиться и почему они ищут эти переменные?

 

Обращаеться к несуществуючему элементу массива с индексами ['name'] / ['email'] / ['enquiry']...

 

Я так понял это там где валидация protected function validate () сразу ниже можете вставить этот код.

 

		if (isset($this->request->post['name'])) {
			$data['name'] = $this->request->post['name'];
		} else {
			$data['name'] = '';
		}
		if (isset($this->request->post['email'])) {
			$data['email'] = $this->request->post['email'];
		} else {
			$data['email'] = '';
		}
		if (isset($this->request->post['enquiry'])) {
			$data['enquiry'] = $this->request->post['enquiry'];
		} else {
			$data['enquiry'] = '';
		}

Или изменить сразу эти правила проверки что есть добавив проверку на сущестующий элемент массива.

 

Например так, вместо:

		if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 32)) {
			$this->error['name'] = $this->language->get('error_name');
		}

Вот так:

 

if (isset($this->request->post['name'] && ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 32))) {
			$this->error['name'] = $this->language->get('error_name');
		}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Eldaeron сказал:

 

Обращаеться к несуществуючему элементу массива с индексами ['name'] / ['email'] / ['enquiry']...

 

Я так понял это там где валидация protected function validate () сразу ниже можете вставить этот код.

 


		if (isset($this->request->post['name'])) {
			$data['name'] = $this->request->post['name'];
		} else {
			$data['name'] = '';
		}
		if (isset($this->request->post['email'])) {
			$data['email'] = $this->request->post['email'];
		} else {
			$data['email'] = '';
		}
		if (isset($this->request->post['enquiry'])) {
			$data['enquiry'] = $this->request->post['enquiry'];
		} else {
			$data['enquiry'] = '';
		}

 

Имеется ввиду внутри     protected function validate() {...} заменить содержимое?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, alinalessioYandex сказал:

Имеется ввиду внутри     protected function validate() {...} заменить содержимое?

Нет, просто сразу после функции добавить.

 

Ниже идет проверка.

Например: 

(utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 32)

Значит не меньше 3 символов или не больше 32 Имья пользователя, что заполнил форму.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скорее всего в прошлый раз вы задали тоже вопрос, на который получили такой же ответ и этот ответ сами имплементировали в код, что и стало причиной уже новой ошибки.

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

Да, меняйте конечно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, nikifalex сказал:

скорее всего в прошлый раз вы задали тоже вопрос, на который получили такой же ответ и этот ответ сами имплементировали в код, что и стало причиной уже новой ошибки.

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

Да, меняйте конечно

Нет-нет. Вы не правы. Версия ocStore 2.3.0.2.2 и я ничего не менял. Более того, чтобы быть на сто процентов уверенным, заменил файлы контроллера и шаблона, на всякий случай прямо из коробки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, alinalessioYandex сказал:

Нет-нет. Вы не правы. Версия ocStore 2.3.0.2.2 и я ничего не менял. Более того, чтобы быть на сто процентов уверенным, заменил файлы контроллера и шаблона, на всякий случай прямо из коробки.

Нужно смотреть что оправляется запросом из контактной формы в функцию валидации. И тогда можно говорить, об этом точнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Eldaeron сказал:

Нужно смотреть что оправляется запросом из контактной формы в функцию валидации. И тогда можно говорить, об этом точнее.

Я правильно понимаю, что у меня в форму обратной связи уже что-то попадает, при загрузке страницы и попадает в обработчик?

Вот сайт. http://stroymat72.ru/contact-us/ Можно что-то сказать?

 

Пока так и не разобрался, как правильно внедрить ваш код. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
<b>Notice</b>: Undefined index: name in <b>/var/www/stroymat72.ru/data/www/stroymat72.ru/catalog/controller/information/contact.php</b> on line <b>163</b><b>Notice</b>: Undefined index: email in <b>/var/www/stroymat72.ru/data/www/stroymat72.ru/catalog/controller/information/contact.php</b> on line <b>167</b><b>Notice</b>: Undefined index: enquiry in <b>/var/www/stroymat72.ru/data/www/stroymat72.ru/catalog/controller/information/contact.php</b> on line <b>171</b><div id="cmswidget-23" class="cmswidget">
	<div class="vtavka-snizu">					<p>* - Обязательные поля</p>				</div></div>



<script>
			var prefix = 'ascpw23';
		var cmswidget = '23';
		var heading_title = 'Вставка 2 во всплывашку';
		var data = $('#cmswidget-23').clone();
		$('#cmswidget-'+cmswidget).remove();
$('#ascpw21_container_reviews_record_id_25').append(data);;
		delete data;
		delete prefix;
		delete cmswidget;
	</script>

Вы вставили виждет SEOCMS TOP, но чтото неправильно добавили.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Аааа)) Так это СЕОЦМС шалит??? Спасибо вам большое, сейчас я с ним разберусь )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.