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

PHP Notice: Undefined variable


Shann

Recommended Posts

Здравствуйте, проблема возникла, на сайте  - https://tropickava.com.ua/ на главной, на третьей картинке, есть модуль "подписка на новости", после ввода туда адреса и нажатия на кнопку "отправить" в журнал ошибок падает такая вот строка:

PHP Notice: Undefined variable: description in /home/uh413434/domains/tropickava.com.ua/public_html/catalog/view/theme/theme658/template/module/tm_newsletter.tpl on line 4

которая ссылается на строку -  4:  <?php if ($description){?><p class="newsletter-description"><?php echo $description;?></p><?php }?>

Раздражает ппц как, чего оно ноет как исправить о_О ? 

Opencart 2.1.0.2

Надіслати
Поділитися на інших сайтах


1 час назад, Tom сказал:

Элементарно.Обратиться к автору темы у которого она куплена.

молчит автор )

а ошибка не элементарная - типа где-то запятая пропущена?

Надіслати
Поділитися на інших сайтах


5 минут назад, interpol сказал:

Точнее покажи две сверху и две снизу и я скажу тебе точный ответ с вероятностью 95 %

<div id="tm-newsletter" class="box newsletter">
    <div class="box-heading"><h2><?php echo $heading_title; ?></h2></div>
    <div class="box-content">
        <?php if ($description){?><p class="newsletter-description"><?php echo $description;?></p><?php }?>
        <form method="post" enctype="multipart/form-data" id="tm-newsletter-form">
            <div class="tm-login-form">                
                <input type="text" name="tm_newsletter_email" value="" placeholder="<?php echo $entry_mail; ?>" id="input-tm-newsletter-email" class="form-control"/>
                <button type="submit" id="tm-newsletter-button" class="dropdown-btn"><?php echo $button_subscribe; ?></button>
                <label class="control-label" for="input-tm-newsletter-email"></label>
            </div>
            <span id="tm-newsletter_error" class="newsletter-error"></span>
            <span id="tm-newsletter_success" class="newsletter-success"></span>
        </form>

    </div>
</div>

Надіслати
Поділитися на інших сайтах


41 минуту назад, chukcha сказал:

ошибка элементарная

ifset($description)

 

когда if заменил на ifset то главная вообще не грузится, в консоли выпадает - https://tropickava.com.ua/ 500 (Internal Server Error)

Надіслати
Поділитися на інших сайтах


8 минут назад, interpol сказал:

Ты пытаешься вызвать не существующую переменную, обработай ее isset()
<?php if (isset($description)){?><p class="newsletter-description"><?php echo $description;?></p><?php }?>

спасибо, ошибка исчезла, счастье есть :)

вообще шаблон от templatemonster просто пестрит такими вещами, а этот модуль вообще гениален - они сделали модуль который собирает е-мейлы, при этом эти адреса тупо нигде не выводятся в админке, их можно посмотреть только в phpmyadmin, и почистить например тоже только там - ну не идиоты? Еще не факт что по ним хоть какие-то письма рассылаются :)

Надіслати
Поділитися на інших сайтах


17 минут назад, L0ky сказал:

когда if заменил на ifset

иии..

google в помощь

ifset php - выпадет все что касается isset

 

Надіслати
Поділитися на інших сайтах

8 минут назад, chukcha сказал:

иии..

google в помощь

ifset php - выпадет все что касается isset

 

Я не видел такого не разу за столько, может не те книги читаю или не ту травку курю, и проверил на php 5.6 не работает и гугл не дает результат

  • +1 1
Надіслати
Поділитися на інших сайтах


4 минуты назад, interpol сказал:

Я не видел такого не разу за столько, может не те книги читаю или не ту травку курю, и проверил на php 5.6 не работает и гугл не дает результат

Опечатка. И гугл это сразу понял.:-D И даже подсказал, как правильно.

Надіслати
Поділитися на інших сайтах


1 минуту назад, interpol сказал:

Не понял

:-D

Не знаю, как у Вас, но когда я вставляю в строку поиска  ifset, то первая же подсказка от гугул это  isset php = нет никакого ifse - это опечатка.

Если настоять и спросить  ifset php, то гугл не сдаётся и показывает результаты для isset php

Не знаю, я сразу понял, что это опечатка.:-)

 

А Вы не скажите, что возвращает  if ($description) ?

Надіслати
Поділитися на інших сайтах


Судя по всему выдернули какой-нибудь код подписки, где было еще одно поле

В шаблоне его удалили, а в контроллере забыли, вот и вся радость

Надіслати
Поділитися на інших сайтах

1 минуту назад, chukcha сказал:

Судя по всему выдернули какой-нибудь код подписки, где было еще одно поле

В шаблоне его удалили, а в контроллере забыли, вот и вся радость

Чуть подправлю, в контроллере удалили а в шаблоне забыли так будет думаю правильней.

Надіслати
Поділитися на інших сайтах


1 час назад, chukcha сказал:

что-то там должно быть

Но что там, нужно смотреть по коду, а не гадать

Вопрос другой.

если не сложно:

<?php
    if ($var) {
                  ?> <p>$var существует</p>  <?php
    } else {
              ?> <p>$var НЕ существует</p>  <?php
      }
?>

Если переменная $var не определена, то код выдаёт <p>$var НЕ существует</p>

И не выпадает никаких ошибок или варнингов.

Т.е., if ($var) возвращает false если переменная $var не определена. И всё. И это не ошибка. Это допустимая проверка на существование. У меня такая конструкция прокатывает.

Сделал вот так:

<?php
    $var = 'описание';
    if ($var) {  echo $var;  }
?>

на выходе получил  описание

Сделал вот так:

<?php
    if ($var) {  echo $var;  }
?>

На выходе получил ничего. Совсем ничего. Никаких варнингов или ошибок.

То есть if ($var) по сути = if (isset($var)) 

Или нет? Я в растерянности....

 

Змінено користувачем Skunk
[code]
Надіслати
Поділитися на інших сайтах


14 минут назад, Skunk сказал:

А теперь вот так:


<?php if (isset($var)) {echo $var;} ?>

Дык, пробовал - аналогично.

<?php
    $var = 'описание';
    if (isset($var)) {  echo $var;  }
?>

Выдаёт описание

 

<?php
    if (isset($var)) {  echo $var;  }
?>

не выдаёт ничего.

Поведение if (isset($var)) полностью аналогично поведению  if ($var) - в обоих случаях при отсутствии $var просто html документ идёт дальше. и всё.

 

Кажется, понял (или нет):

<?php
     echo $var; 
?>

$var не существует, но один фик никаких варнингов. Наверное, настройки какие-то, да?

Змінено користувачем florapraktik
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

×
×
  • Створити...

Important Information

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