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
Форумы портала PHP.SU :: Версия для печати :: Ошибка инициализации переменной [2]
Форумы портала PHP.SU » » Вопросы новичков » Ошибка инициализации переменной

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

16. LIME - 13 Августа, 2019 - 20:57:23 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP if ( isset( $attributes['errors'] ) && is_array($attributes['errors']) ) : ?>
  2.     <?PHP foreach ( $attributes['errors'] as $error ) : ?>
  3.         <p class="login-error">
  4.             <?= $error; ?>
  5.         </p>
  6.     <?PHP endforeach; ?>
  7. <?PHP endif; ?>

на пустом массиве не будет итераций цикла
фигней занимаемся честное слово
сделай класс атрибутов и в методах выполняй все приведения и проверки
$attributes->getErrors();
или не сделай если пока непонятно
17. jurvrn - 13 Августа, 2019 - 21:14:29 - перейти к сообщению
LIME пишет:
или не сделай если пока непонятно
для вас фигня, для меня темный лес. Мне просто надо чтобы не было ошибки и работало.
LIME пишет:
<?PHP if ( isset( $attributes['errors'] ) && is_array($attributes['errors']) ) : ?>

ругается на вторую $attributes
18. Строитель - 13 Августа, 2019 - 21:17:40 - перейти к сообщению
jurvrn пишет:
Мне просто надо чтобы не было ошибки
А какая на сей раз ошибка?
19. jurvrn - 13 Августа, 2019 - 21:21:44 - перейти к сообщению
Строитель phpstorm ругается на $attributes. Одну исправляем - следующая возникает.
код здесь
https://rextester[dot]com/AYUOJ57918
Есть подозрения что в принципе код неправильно написан
20. LIME - 13 Августа, 2019 - 21:28:00 - перейти к сообщению
Не надо count. Я же показал как проверить вместо count
21. jurvrn - 13 Августа, 2019 - 21:41:07 - перейти к сообщению
LIME я ваши исправления все использую, спасибо
просто заменив
PHP:
скопировать код в буфер обмена
  1. <?PHP if ( count( isset( $attributes['errors'] ) > 0 )) : ?>

на ваше
PHP:
скопировать код в буфер обмена
  1. <?PHP if ( isset( $attributes['errors'] ) && is_array($attributes['errors']) ) : ?>

получилась ошибка на второй $attributes (где is_array)
22. LIME - 13 Августа, 2019 - 21:50:00 - перейти к сообщению
Строитель пишет:
А какая на сей раз ошибка?
по ссылке код другой
23. jurvrn - 14 Августа, 2019 - 12:59:54 - перейти к сообщению
LIME, Строитель спасибо за помощь. Дело вот в чем. Проблема - не происходит вход в систему при авторизации.
Выкладываю login_form_personalize.php и Personalize_Login_Plugin.php для вашего удобства в изначальном виде.
http://codepad[dot]org/cDcCATHF
https://rextester[dot]com/WWQNS73393
именно из-за этой переменной возникают ошибки в форме и редиректа не происходит.
В принципе все $attributes я исправлял через isset и ?? '', но форма всё равно не работает.
попробовать можно на странице http://jurvrn[dot]ru/member-login-personalize/

тестовый пользователь: userchat с паролем: userchat

P.S. второй вариант входа на странице http://jurvrn[dot]ru/pagelogin/
24. LIME - 14 Августа, 2019 - 13:15:07 - перейти к сообщению
https://m[dot]habr[dot]com/ru/post/250323/
http://phpfaq[dot]ru/debug
вот
Учись дебажить
25. jurvrn - 14 Августа, 2019 - 16:43:28 - перейти к сообщению
LIMEхотел я обойтись без изучения php, мне вроде это не нужно на постоянной основе...
26. LIME - 14 Августа, 2019 - 16:48:36 - перейти к сообщению
Тогда и мне не интересно
27. jurvrn - 14 Августа, 2019 - 16:50:52 - перейти к сообщению
LIME понял ) уже скачиваю openserver и xdebug))
28. jurvrn - 14 Августа, 2019 - 20:38:45 - перейти к сообщению
LIME пытался настроить - какие-то ошибки...

CODE (htmlphp):
скопировать код в буфер обмена
  1. "C:\Program Files\JetBrains\php-7.3.8\php.exe" C:\Users\snn\.PhpStorm2019.2\config\scratches\scratch_2.php
  2. Failed loading C:\Program Files\JetBrains\php_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll
  3. PHP Version => 7.3.8
  4.  
  5. System => Windows NT SN-ST 6.3 build 9600 (Windows 8.1 Professional Edition) AMD64
  6. Build Date => Jul 30 2019 12:36:51
  7. Compiler => MSVC15 (Visual C++ 2017)
  8. Architecture => x64
  9. Configure Command => cscript /nologo configure.js  "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--with-pdo-oci=c:\php-snap-build\deps_aux\oracle\x64\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-snap-build\deps_aux\oracle\x64\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--without-analyzer" "--with-pgo"
  10. Server API => Command Line Interface
  11. Virtual Directory Support => disabled
  12. Configuration File (php.ini) Path => C:\WINDOWS
  13. Loaded Configuration File => C:\Program Files\JetBrains\php-7.3.8\php.ini
  14. Scan this dir for additional .ini files => (none)
  15. Additional .ini files parsed => (none)
  16. PHP API => 20180731
  17. PHP Extension => 20180731
  18. Zend Extension => 320180731
  19. Zend Extension Build => API320180731,NTS,VC15
  20. PHP Extension Build => API20180731,NTS,VC15
  21. Debug Build => no
  22. Thread Safety => disabled
  23. Zend Signal Handling => disabled
  24. Zend Memory Manager => enabled
  25. Zend Multibyte Support => disabled
  26. IPv6 Support => enabled
  27. DTrace Support => disabled
29. LIME - 14 Августа, 2019 - 21:02:03 - перейти к сообщению
Ничем не могу помочь
Дебажь вардампами
Вторая ссылка
30. jurvrn - 15 Августа, 2019 - 01:03:16 - перейти к сообщению
LIME подключил...
ко всем $attributes добавил isset.... - правильно? ведь на пустые значения нельзя ни считать, ни в массив записывать. Хоть ошибок не показывает (кроме отсутсвующей функции wordpress), но форма не работает (неправильный редирект)
PHP:
скопировать код в буфер обмена
  1. <style>
  2.     .login-form-container-personalize {background-color: #ebfff6;}
  3.     .forgot-password-personalize {color: #8c2152;}
  4.     #loginform_personalize {background-color: #f6efda;}
  5. </style>
  6.  
  7. <div class="login-form-container-personalize">
  8.     <?PHP if ( isset($attributes['show_title']) ) : ?>
  9.         <h2><?PHP _e( 'Sign In - авторизация', 'personalize-login' ); ?></h2>
  10.     <?PHP endif; ?>
  11.  
  12.     <!-- Show errors if there are any -->
  13.     <?PHP if ( isset( $attributes['errors'] ) && is_array (isset($attributes['errors']) ) ) : ?>
  14.         <?PHP foreach ( isset($attributes['errors']) as $error ) : ?>
  15.             <p class="login-error">
  16.                 <?PHP echo $error; ?>
  17.             </p>
  18.         <?PHP endforeach; ?>
  19.     <?PHP endif; ?>
  20.  
  21.     <!-- Show logged out message if user just logged out -->
  22.     <?PHP if ( isset($attributes['logged_out']) ) : ?><p class="login-info"><?PHP _e( 'Вы вышли с сайта. Хотите снова войти на сайт?', 'personalize-login' ); ?></p>
  23.     <?PHP endif;?>
  24.  
  25.     <?PHP
  26.     wp_login_form(
  27.         array(
  28.             'echo' => true,
  29.             'redirect' => isset($attributes['redirect']),
  30.             'form_id' => 'loginform_personalize',
  31.             'label_username' => __( 'e-mail (или логин/имя)', 'personalize-login' ),
  32.             'label_password' => __( 'Пароль' ),
  33.             'label_remember' => __( 'Запомнить меня' ),
  34.             'label_log_in' => __( 'Sign In (Войти на сайт)', 'personalize-login' ),
  35.             'id_username' => 'user_login_personalize',
  36.             'id_password' => 'user_pass_personalize',
  37.             'id_remember' => 'rememberme_personalize',
  38.             'id_submit' => 'wp-submit_personalize',
  39.             'remember' => true,
  40.             'value_username' => NULL,
  41.             'value_remember' => true
  42.         )
  43.     );
  44.     ?>
  45.  
  46.     <a class="forgot-password-personalize" href="<?PHP echo wp_lostpassword_url(); ?>"><?PHP _e( 'Забыли свой пароль?', 'personalize-login' ); ?></a>
  47.  
  48. </div>
  49.  


не самому не осилить эти ошибки, начну другой код собирать....

 

Powered by ExBB FM 1.0 RC1