Перейти к содержимому


Выбрать шаблон и создать сайт

  • Закрытая тема Тема закрыта

Eval(); Ругается

#1 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0
0

Отправлено 26 Май 2010 - 23:35

По какой причине может ругаться конструкция eval(); ?
Вот ошибка, которую он выдает.

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in P:\home\w-alterego\www\includes\functions\html.php(9) : eval()'d code on line 3

Причем только если у меня есть в коде echo. В других случаях не ругается.
По ошибке вообще непонятно, на какую часть он ругается.

 

 

  • 0

#2 Shaitan63

Shaitan63
  • Пользователь
  • 165 сообщений
  • Репутация: 0

Отправлено 27 Май 2010 - 00:17

он говорит что в строке 3 синтаксическая ошибка скинь файл посмотрим что там
  • 0

#3 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 27 Май 2010 - 07:28

Ты думаешь, я не вижу синтаксических ошибок? =)
Я без Eval в открытую его запускал, никаких проблем. Синтаксическую ошибку ловит функция eval(); Это ее строка, а не кода, который она обрабатывает.
  • 0

#4 Shaitan63

Shaitan63
  • Пользователь
  • 165 сообщений
  • Репутация: 0

Отправлено 27 Май 2010 - 08:17

в любом случии это ошибка в строке номер 3 посмотри что там может быть обращение к файлу у которого чмод не выставлен или к табличке БД которой нету
  • 0

#5 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 27 Май 2010 - 13:22

Ничего там нет. Вот когда ты для проверки пишешь в обрабатываемой строчке только
echo "Проверка";

Как видишь, никаких ошибок тут нет. А он ругается. Все остальные шаблоны с кодом обрабатывает без ошибок.
  • 0

#6 Shaitan63

Shaitan63
  • Пользователь
  • 165 сообщений
  • Репутация: 0

Отправлено 27 Май 2010 - 14:24

удоли эту строгу и запусти может быть поможет или напеши эту команду целиком заного
  • 0

#7 ilyazh

ilyazh
  • Пользователь
  • 356 сообщений
  • Репутация: 1

Отправлено 27 Май 2010 - 14:51

у вас случаем не
Eval("echo "Проверка";");
написанно?
В таком случае ошибка сразу видна. Вся информация внутри функции должна быть в кавычках, а в данном случае слово "Проверка" получается вне кавычек, т.к. они перед ним закрываются, а после него открываются.
Используйте разные кавычки
eval("echo 'Проверка';");

  • 0

#8 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 27 Май 2010 - 22:32

Вы отчасти правы. echo писалось так.

echo "<тегhtml атрибут='500'>Содержимое</тегhtml>";


Поменял местами кавычки. Просто они пересекались в eval();
Спасибо за то, что натолкнули на мысль.
  • 0

#9 ilyazh

ilyazh
  • Пользователь
  • 356 сообщений
  • Репутация: 1

Отправлено 27 Май 2010 - 23:25

Не за что. Однако, если бы вы сразу показали код, то проблему решили бы быстрее.
  • 0

#10 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 28 Май 2010 - 07:52

Там не было бы понятно. Я просто попробовал, и оно исправилось. А кода пришлось бы очень много выкладывать. Честно.
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru