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 :: Ошибка в коде [4]

 PHP.SU

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


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

> Описание: Не могу найти ошибку в коде
СЕРьГА
Отправлено: 16 Октября, 2011 - 06:57:05
Post Id


Гость


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


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




illy пишет:
тогда поменяй формат на php
PHP:
скопировать код в буфер обмена
  1. <body>
  2. <form action=photo.php method=POST enctype=multipart/form-data>
  3. <input type=file name=File><br>
  4. <input type=submit name=doUpload value="Закачать новую фотографию">
  5. </form>
  6. <?PHP
  7. foreach($Photos as $n=>$Img) {
  8. echo '<img src='.$Img['url'].' '.$Img['wh'].' alt="Добавлена '.date("d.m.Y H:i:s",$Img['time']).'">';
  9. }
  10. ?>
  11. </body>


ну поменял. но пишет:

Warning: Invalid argument supplied for foreach() in Z:\home\localhost\www\site\1.php on line 7
 
 Top
armancho7777777 Супермодератор
Отправлено: 16 Октября, 2011 - 08:15:30
Post Id



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


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


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




СЕРьГА пишет:
Warning: Invalid argument supplied for foreach()

$Photos не массив, или пустой массив. Прочитайте его c помощью print_r(), какой результат?

(Отредактировано автором: 16 Октября, 2011 - 08:16:03)

 
 Top
Мелкий Супермодератор
Отправлено: 16 Октября, 2011 - 10:36:02
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




armancho7777777 пишет:
или пустой массив

На пустой массив foreach так же адекватно реагирует. Отрабатывает 0 итераций.


-----
PostgreSQL DBA
 
 Top
СЕРьГА
Отправлено: 16 Октября, 2011 - 14:24:08
Post Id


Гость


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


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




armancho7777777 пишет:
СЕРьГА пишет:
Warning: Invalid argument supplied for foreach()

$Photos не массив, или пустой массив. Прочитайте его c помощью print_r(), какой результат?


попробовал. пишет:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in Z:\home\localhost\www\site\1.php on line 8
 
 Top
armancho7777777 Супермодератор
Отправлено: 16 Октября, 2011 - 17:19:17
Post Id



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


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


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




Мелкий пишет:
На пустой массив foreach так же адекватно реагирует. Отрабатывает 0 итераций.
Да, точно. Запарился. У него там переменная.
(Добавление)
СЕРьГА пишет:
syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

По ходу какая-та строка с переменной в перемешку затисалась...
Или переменная с цыфрой без скобок в строке...
Одним словом, битая инфа попала в $Photos
Нужен весь код Ваш, который может иметь отношение к этой ошибке... К лже массиву этому. Т.е. что попадает в $Photos, как попадает, откуда попадает и т.д.
И если это всётаки массив, то надо просмотреть все элементы этого массива на предмет синтаксической ошибки, допущенной в том, что попадает в них.
И ещё, хередоки есть поблизости?

(Отредактировано автором: 16 Октября, 2011 - 17:59:14)

 
 Top
Мелкий Супермодератор
Отправлено: 16 Октября, 2011 - 18:30:53
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




armancho7777777 пишет:
Одним словом, битая инфа попала в $Photos

Каким образом? Ведь PHP вовсе не исполнил ни единой строки, т.к. нашёл ошибку на этапе разбора.


-----
PostgreSQL DBA
 
 Top
СЕРьГА
Отправлено: 16 Октября, 2011 - 19:54:22
Post Id


Гость


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


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




armancho7777777 пишет:

Нужен весь код Ваш, который может иметь отношение к этой ошибке... К лже массиву этому. Т.е. что попадает в $Photos, как попадает, откуда попадает и т.д.
И если это всётаки массив, то надо просмотреть все элементы этого массива на предмет синтаксической ошибки, допущенной в том, что попадает в них.
И ещё, хередоки есть поблизости?


ну так этот код в самом первом сообщении этой темы. А в массив, как уже сказал Мелкий, ничего не попадает, так как скрипт, отправляющий данные,. не исполняется.
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Октября, 2011 - 09:01:34
Post Id



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


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


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




Вот, посмотрел Ваш файл мельком:
Что это ?
PHP:
скопировать код в буфер обмена
  1. $path="$ImgDir/$e"; // адрес


А эта "строка" в перемешку с переменными является элементом этого массива $Photos с ключом "url",
которую Вы пытаетесь получить из $Img['url'].

При переборе натыкается на неё и выдаёт ошибку.

Что не понятного?

Должно быть так:
PHP:
скопировать код в буфер обмена
  1. $path=$ImgDir."/".$e; // адрес

(Добавление)
Мелкий пишет:
Каким образом? Ведь PHP вовсе не исполнил ни единой строки, т.к. нашёл ошибку на этапе разбора.

Вот таким образом:
PHP:
скопировать код в буфер обмена
  1. $path="$ImgDir/$e"; // адрес

Это попало в массив.
Синтаксически всё верно в этой строке, как думаете?)
(Добавление)
armancho7777777 пишет:
По ходу какая-та строка с переменной в перемешку затисалась...

Как и говорил...

(Отредактировано автором: 17 Октября, 2011 - 09:32:15)

 
 Top
Мелкий Супермодератор
Отправлено: 17 Октября, 2011 - 09:32:04
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




armancho7777777 пишет:
Синтаксически всё верно в этой строке, как думаете?)

Да, абсолютно корректна. И является аналогом:
armancho7777777 пишет:
$path=$ImgDir."/".$e; // адрес

Хотя согласен, второй вариант записи мне нравится больше.

И советую вам почитать, на каком этапе может появиться Parse error.

А автору - почитать про синтаксис PHP. Имхо, синтаксические ошибки даже новичок должен исправлять самостоятельно.


-----
PostgreSQL DBA
 
 Top
illy
Отправлено: 17 Октября, 2011 - 09:34:18
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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




Значит ошибка всё ещё есть.
Давай весь код как есть сейчас.


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Октября, 2011 - 09:41:09
Post Id



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


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


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




Мелкий пишет:
Да, абсолютно корректна. И является аналогом:

Да Вы что такое говорите?)
Вот Серьга перепишет эту строку кода, и ошибка пропадёт.
А почему?
 
 Top
СЕРьГА
Отправлено: 17 Октября, 2011 - 09:47:05
Post Id


Гость


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


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




armancho7777777 пишет:
Вот, посмотрел Ваш файл мельком:
Что это ?
PHP:
скопировать код в буфер обмена
  1. $path="$ImgDir/$e"; // адрес


А эта "строка" в перемешку с переменными является элементом этого массива $Photos с ключом "url",
которую Вы пытаетесь получить из $Img['url'].

При переборе натыкается на неё и выдаёт ошибку.

Что не понятного?

Должно быть так:
PHP:
скопировать код в буфер обмена
  1. $path=$ImgDir."/".$e; // адрес

(Добавление)
Мелкий пишет:
Каким образом? Ведь PHP вовсе не исполнил ни единой строки, т.к. нашёл ошибку на этапе разбора.

Вот таким образом:
PHP:
скопировать код в буфер обмена
  1. $path="$ImgDir/$e"; // адрес

Это попало в массив.
Синтаксически всё верно в этой строке, как думаете?)
(Добавление)
armancho7777777 пишет:
По ходу какая-та строка с переменной в перемешку затисалась...

Как и говорил...

извините, но ничего не изменилось((
 
 Top
illy
Отправлено: 17 Октября, 2011 - 09:51:55
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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




Давай архив с необходимыми файлами. Потестю у себя Улыбка


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
armancho7777777 Супермодератор
Отправлено: 17 Октября, 2011 - 09:52:07
Post Id



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


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


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




illy пишет:
Давай весь код как есть сейчас.

Да, нужен весь код. По любому, какая-та синтаксическая мелочь.
(Добавление)
illy пишет:
Давай архив с необходимыми файлами. Потестю у себя

И мне)))
 
 Top
Мелкий Супермодератор
Отправлено: 17 Октября, 2011 - 09:53:54
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




armancho7777777 пишет:
А почему?

Потому что вам этого хочется?

PHP:
скопировать код в буфер обмена
  1. $ImgDir = 'ddd';
  2. $e = 'fff';
  3. $path=$ImgDir."/".$e;
  4. $path2="$ImgDir/$e";
  5. if ($path === $path2) echo 'идентично';


-----
PostgreSQL DBA
 
 Top
Страниц (7): « 1 2 3 [4] 5 6 7 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB