Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

На странице контактов ошибки.


Recommended Posts

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

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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.