Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с переносом сайта со smarty. 
V
    Опции темы
lisiy50
Дата 3.2.2011, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.3.2010

Репутация: нет
Всего: нет



Возникла проблема при переносе сайта на другой хостинг.
При обработке темплейта с кодом {user_func var='some_val'} кавычки экранируются, выводиться ошибка: syntax error: invalid attribute name: 'some_val\' (откуда бекслеш берется не понятно). Аналогичная ситуация и с " (двойными кавычками). Адекватно работает вариант {user_func var=some_val}.
Но обнаружил еще пару проблем:
Между тегами {literal}{/literal} все двойные кавычки экранируются и заменяются на "\" ("значение в кавычках", после обработки смарти: "\"значение в кавычках"\"), но и эту проблему решить удалось, заменив все двойные кавычки на одинарные.
Еще пример: вывожу на страниц видео с youtube, код видео хранится в базе, при выводе экранируются все кавычки (как двойные так и одинарные, вот результат вывода <object height="\'135\'" width="\'240\'">). Проблема решается путем удаление кавычек: <object height=135 width=240> - если исходник такой, то результат: <object height="135" width="240"> - такой.

Как бы решил, работает! Меня все вышеупомянутые "решения" не устраивают, этот глюк тянет за собой массу других.

Привел примеры для того что бы узнать в чем может быть причина такого поведения smarty и как ее можно решить.
PM MAIL   Вверх
z-END
Дата 3.2.2011, 13:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



magic quotes?


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
lisiy50
Дата 3.2.2011, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.3.2010

Репутация: нет
Всего: нет



z-END, спасибо за ответ. Проверил конфигурацию сервера, подтвердилось.
Пробовал php_flag magic_quotes_gpc Off в .htaccess писать, сервер блокирует сайт вообще.
ini_set меняет только magic_quotes_sybase, magic_quotes_gpc и magic_quotes_runtime изменить не удается. Буду связываться с поставщиком хостинга.
Если есть идеи как можно решить этот вопрос буду рад выслушать.
PM MAIL   Вверх
Dima 2015
Дата 3.2.2011, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



А вот объясните мне дураку какая связь между smarty и magic_quotes? Я правда user_func не использовал и что это такое не знаю, но... magic_quotes это слэширование спец. символов приходящих из $_GET, $_POST и $_COOKIE... при чем тут Смарти?
PM MAIL ICQ   Вверх
MoLeX
Дата 4.2.2011, 06:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Dima 2015, не причем. человек просто сделал предположение


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
z-END
Дата 4.2.2011, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



MoLeX, при том, что мы не знаем каким образом получает данные user_func,.
если данные получаются одной из следующих функций (а это весьма вероятно), то экранирование будет выполнено
Цитата

Functions affected by magic_quotes_runtime (does not include functions from PECL): 
get_meta_tags()
file_get_contents()
file()
fgets()
fwrite()
fread()
fputcsv()
stream_socket_recvfrom()
exec()
system()
passthru()
stream_get_contents()
bzread()
gzfile()
gzgets()
gzwrite()
gzread()
phar_file_get_contents()
exif_read_data()
dba_insert()
dba_replace()
dba_fetch()
ibase_fetch_row()
ibase_fetch_assoc()
ibase_fetch_object()
mssql_fetch_row()
mssql_fetch_object()
mssql_fetch_array()
mssql_fetch_assoc()
mysqli_fetch_row()
mysqli_fetch_array()
mysqli_fetch_assoc()
mysqli_fetch_object()
pg_fetch_row()
pg_fetch_assoc()
pg_fetch_array()
pg_fetch_object()
pg_fetch_all()
pg_select()
sybase_fetch_object()
sybase_fetch_array()
sybase_fetch_assoc()
SplFileObject::fgets()
SplFileObject::fgetcsv()
SplFileObject::fwrite()

в общем RTFM...


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
skyboy
Дата 4.2.2011, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(z-END @  4.2.2011,  09:14 Найти цитируемый пост)
при том, что мы не знаем каким образом получает данные user_func,.

проблема в задании константы. вне зависимости от того, "какие образом получают данные" в самое функции
Цитата(lisiy50 @  3.2.2011,  12:48 Найти цитируемый пост)
При обработке темплейта с кодом {user_func var='some_val'} кавычки экранируются, выводиться ошибка: syntax error: invalid attribute name: 'some_val\' (откуда бекслеш берется не понятно)


Добавлено через 1 минуту и 19 секунд
lisiy50, т.е. проблема только при использовании user_func? а в других местах, где используются теги-функции все отлично?
а если на весь шаблон - только этот самый вызов функции - тоже проблема?
PM MAIL   Вверх
z-END
Дата 4.2.2011, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



Цитата(skyboy @  4.2.2011,  11:56 Найти цитируемый пост)
проблема в задании константы. вне зависимости от того, "какие образом получают данные" в самое функции

в виду того что проблема связана с этим:
Цитата(lisiy50 @  3.2.2011,  14:48 Найти цитируемый пост)
Еще пример: вывожу на страниц видео с youtube, код видео хранится в базе, при выводе экранируются все кавычки (как двойные так и одинарные, вот результат вывода <object height="\'135\'" width="\'240\'">). Проблема решается путем удаление кавычек: <object height=135 width=240> - если исходник такой, то результат: <object height="135" width="240"> - такой.

можно делать вывод о наличии magi quotes


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
skyboy
Дата 4.2.2011, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



вопрос помечен решенным. может, уже и не актуально.
возможно, ты и прав. если этот код шаблона человек вводил, не напрямую редактируя файл, а через какой-то "редактор в админке". тогда и magic_quotes, и даже addslashes могут оказаться причиной.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0708 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.