Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка инициализации переменной

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
jurvrn
Отправлено: 12 Августа, 2019 - 20:21:31
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Вот такой код выдает ошибку на первой $attributes. Почему...
Предлагается задать переменной значение, но она вроде как вычисляется по условию совпадения!
PHP:
скопировать код в буфер обмена
  1. <div class="login-form-container-personalize">
  2.   <?PHP if ( $attributes['show_title'] ) : ?>
  3.       <h2><?PHP _e( 'Sign In (Авторизоваться)', 'personalize-login' ); ?></h2>
  4.   <?PHP endif; ?>
  5.  
  6.   <?PHP
  7.   wp_login_form(
  8.     array(
  9.       'label_username' => __( 'Email (или имя пользователя)', 'personalize-login' ),
  10.       'label_log_in' => __( 'Sign In (Войти)', 'personalize-login' ), //кнопка
  11.       'redirect' => $attributes['redirect'],
  12.     )
  13.   );
  14.   ?>
  15.  
  16.     <a class="forgot-password" href="<?PHP echo wp_lostpassword_url(); ?>">
  17.       <?PHP _e( 'Забыли свой пароль?', 'personalize-login' ); ?>
  18.     </a>
  19. </div>

(Отредактировано автором: 12 Августа, 2019 - 20:25:06)

 
 Top
Строитель Модератор
Отправлено: 12 Августа, 2019 - 20:52:31
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




jurvrn,
PHP:
скопировать код в буфер обмена
  1. <?PHP if ( isset($attributes['show_title']) ) : ?>
 
 Top
jurvrn
Отправлено: 12 Августа, 2019 - 23:02:55
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Строитель пишет:
isset
пока не могу сказать спасибо кнопкой, спасибо!

(Отредактировано автором: 12 Августа, 2019 - 23:05:13)

 
 Top
Строитель Модератор
Отправлено: 12 Августа, 2019 - 23:12:51
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




jurvrn пишет:
пока не могу сказать спасибо кнопкой
Знаю - вы ещё долго не сможете нею воспользоваться, вам как минимум понадобится запостить ещё 45 постов Закатив глазки
 
 Top
jurvrn
Отправлено: 13 Августа, 2019 - 13:33:26
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Строитель исправил по вашей подсказке, и теперь во втором случае phpstorm ругается на вторую переменную $attributes (11 строка). Во втором случае тоже можно использовать isset?

PHP:
скопировать код в буфер обмена
  1. <div class="login-form-container-personalize">
  2.   <?PHP if (isset( $attributes['show_title']) ) : ?>
  3.       <h2><?PHP _e( 'АВТОРИЗОВАТЬСЯ', 'personalize-login' ); ?></h2>
  4.   <?PHP endif; ?>
  5.  
  6.   <?PHP
  7.       wp_login_form(
  8.         array(
  9.           'label_username' => __( 'Email (или имя пользователя)', 'personalize-login' ),
  10.           'label_log_in' => __( 'Sign In (Войти)', 'personalize-login' ), //кнопка
  11.           'redirect' => $attributes['redirect'],
  12.           'value_remember' => true
  13.         )
  14.       );
  15.   ?>
  16.     <a class="forgot-password-personalize" href="<?PHP echo wp_lostpassword_url(); ?>">
  17.       <?PHP _e( 'Забыли свой пароль?', 'personalize-login' ); ?>
  18.     </a>
  19. </div>

(Отредактировано автором: 13 Августа, 2019 - 13:34:27)

 
 Top
LIME
Отправлено: 13 Августа, 2019 - 13:41:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




в зависимости от ожидаемого типа можно указать значение по умолчанию(тут пустая строка)
Хотя это не совсем то что делает ?? но можешь так считать или погугли
(Добавление)
Поэтому лучше использовать объекты чем массивы.
Чтоб не бегать по всему коду с кусочками локальных проверок в том числе
 
 Top
jurvrn
Отправлено: 13 Августа, 2019 - 14:11:00
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




LIME так подчеркивает красным два знака вопроса, появилось предупреждение что это только для php 7 версии - переключил, ошибка пропала...

(Отредактировано автором: 13 Августа, 2019 - 14:16:35)

 
 Top
LIME
Отправлено: 13 Августа, 2019 - 14:57:34
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Если это phpstorm, то можно выставить в настройках версию для синтаксиса. Если если прописана в composer.json то достаточно сменить там, либо прописать если он есть вообще. То есть если в нем прописана то шторм не даст сменить.
 
 Top
jurvrn
Отправлено: 13 Августа, 2019 - 17:30:22
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




LIME у меня phpstorm, настроил на 7 версию. Но он чересчур умный - ругается на div в этом коде и предлагает удалить. )

(Отредактировано автором: 13 Августа, 2019 - 17:31:18)

 
 Top
LIME
Отправлено: 13 Августа, 2019 - 17:53:21
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Не должен
Видимо ты не все показал или сломал что-то
 
 Top
jurvrn
Отправлено: 13 Августа, 2019 - 18:28:57
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




LIME извиняюсь что по "ерунде" отвлекаю, просто создание сайта моё хобби, я не программист, это для себя интересно, поэтому изучаю основы программирования на практике.

Вот скрин, наверно ошибка из-за того что файл *.php, а начинается с html
PS. смысл второго $$attributes - редирект URL на скрипт шорткода
Прикреплено изображение (Нажмите для увеличения)
div.png

(Отредактировано автором: 13 Августа, 2019 - 18:31:10)

 
 Top
LIME
Отправлено: 13 Августа, 2019 - 18:35:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Отвлекаешь от постельного режима
Он не ругается, а услужливо предлагает удалить парный тег. То что под лампочкой это контекстное меню действий. Бывает разным в зависимости от того на что кликнешь. Потыкай
(Добавление)
Стили перенеси в начало.
 
 Top
jurvrn
Отправлено: 13 Августа, 2019 - 18:42:10
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




LIME почему в постели? у вас уже ночь?
потыкал - просто удаляется div (а он мне нужен). Перенос в начало <style> не меняет дела, тоже предлагает удалить этот div
 
 Top
LIME
Отправлено: 13 Августа, 2019 - 18:51:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Режим по болезни
Потыкай в другие штуки смысле
На функцию например
И погугли что такое контекстное меню
А стили в принципе вверх перемести
Безотносительно
 
 Top
jurvrn
Отправлено: 13 Августа, 2019 - 20:24:29
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




LIME ок, буду изучать понемногу и скорейшего выздоровления!
у меня код усложнился и снова на $attributes ругается.
Ещё есть три случая - что в них правильнее использовать isset или ?? '' ?

PS в 1 и 2 случае сделал так

PHP:
скопировать код в буфер обмена
  1.         <?PHP if ( count( isset( $attributes['errors'] ) > 0 )) : ?>
  2.                 <?PHP foreach ( $attributes['errors'] ?? '' as $error ) : ?>


а 3 случае уже и нет ошибки...

PHP:
скопировать код в буфер обмена
  1. <style>
  2.     .login-form-container-personalize {background-color: #ebfff6;}
  3.     .forgot-password-personalize {color: #8c465b;}
  4. </style>
  5.  
  6. <div class="login-form-container-personalize">
  7.         <?PHP if ( isset($attributes['show_title'])) : ?>
  8.                 <h2><?PHP _e( 'Sign In - авторизация', 'personalize-login' ); ?></h2>
  9.         <?PHP endif; ?>
  10.  
  11.         <!-- Show errors if there are any -->
  12.         <?PHP if ( count( $attributes['errors'] ) > 0 ) : ?>
  13.                 <?PHP foreach ( $attributes['errors'] as $error ) : ?>
  14.                         <p class="login-error">
  15.                                 <?PHP echo $error; ?>
  16.                         </p>
  17.                 <?PHP endforeach; ?>
  18.         <?PHP endif; ?>
  19.  
  20.         <!-- Show logged out message if user just logged out -->
  21.         <?PHP if ( $attributes['logged_out'] ) : ?>
  22.                 <p class="login-info">
  23.                         <?PHP _e( 'Вы вышли с сайта. Хотите снова войти на сайт?', 'personalize-login' ); ?>
  24.                 </p>
  25.         <?PHP endif; ?>
  26.  
  27.         <?PHP
  28.                 wp_login_form(
  29.                         array(
  30.                                 'label_username' => __( 'E-mail (или логин/имя)', 'personalize-login' ),
  31.                                 'label_log_in' => __( 'Sign In (Войти на сайт)', 'personalize-login' ),
  32.                                 'redirect' => $attributes['redirect'] ?? '',
  33.                         )
  34.                 );
  35.         ?>
  36.  
  37.         <a class="forgot-password-personalize" href="<?PHP echo wp_lostpassword_url(); ?>">
  38.                 <?PHP _e( 'Забыли свой пароль?', 'personalize-login' ); ?>
  39.         </a>
  40.  
  41. </div>
  42.  

(Отредактировано автором: 13 Августа, 2019 - 20:30:38)

 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB