sion999 0 Опубликовано: 6 сентября 2011 Рассказать Опубликовано: 6 сентября 2011 (изменено) Доброго времени. Я очень поверхностно знаю РНР. Пытаюсь делать все методом проб и ошибок, но застрял. По этой причине прошу подсказать решение. Нужно добавить 2-3 поля в форму обратной связи в версии 9.3. Я прошёлся поиском по форуму и нашел только эту статью. На её основе начал шаманить. Вроде стало получаться. Правда не отправляло данные с дополнительных полей. И тут вроде разобрался и понял, что за отправку отвечает feedback.php в папке ajax. Код $message = trim(stripslashes( convert_unicode($_POST['message'], $config['charset'] ) ) ) я изменил на $message = trim(stripslashes( convert_unicode($_POST['message'], $config['charset'] ) ) ).trim(stripslashes( convert_unicode($_POST ['city'], $config['charset'] ) ) );. Данные из поля 'city' стали отправляться. Но не могу решить вопрос с форматированием. Письмо приходит в таком виде: СообщениеГород Я не могу разобраться как их разделить и перенести на новую строку, а так же сделать к ним надписи типа: Сообщение: сообщеннице Город: мегаполис Зарание благодарен за помощь. Изменено 6 сентября 2011 пользователем sion999 Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 6 сентября 2011 Рассказать Опубликовано: 6 сентября 2011 Для переноса строки используйте: windows - "\r\n", unix - "\n", macos - "\n\r" Цитата Ссылка на сообщение Поделиться на других сайтах
sion999 0 Опубликовано: 6 сентября 2011 Рассказать Опубликовано: 6 сентября 2011 (изменено) Автор Спасибо за ответ. Но. При изменении кода пишет ошибку. Как только не пробывал. Один из вариантов: $message = trim(stripslashes( convert_unicode($_POST['message'], $config['charset'] ) ) ) '\n' .trim(stripslashes( convert_unicode($_POST ['city'], $config['charset'] ) ) ); В общем коде страницы есть такое: $not_allow_symbol = array ("\x22", "\x60", "\t", '\n', '\r', "\n", "\r", '\\', ",", "/", "¬", "#", ";", ":", "~", "[", "]", "{", "}", ")", "(", "*", "^", "%", "$", "<", ">", "?", "!", '"', "'" ); Может быть поэтому и ошибка? Изменено 6 сентября 2011 пользователем sion999 Цитата Ссылка на сообщение Поделиться на других сайтах
ru.slanov 20 Опубликовано: 6 сентября 2011 Рассказать Опубликовано: 6 сентября 2011 (изменено) $message = trim(stripslashes( convert_unicode($_POST['message'], "\n", $_POST ['city'], $config['charset'] ) ) ); Изменено 6 сентября 2011 пользователем rSteLlMi Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 6 сентября 2011 Рассказать Опубликовано: 6 сентября 2011 rSteLlMi, тогда уж вот так: $message = trim ( stripslashes ( convert_unicode ( $_POST['message'] . "\n" . $_POST ['city'], $config['charset'] ) ) ); 1 Цитата Ссылка на сообщение Поделиться на других сайтах
sion999 0 Опубликовано: 7 сентября 2011 Рассказать Опубликовано: 7 сентября 2011 Автор Всем ОГРОМНОЕ спасибо. Нужная цель достигнута. В результате код получился такой: $message = trim ( stripslashes ( convert_unicode ( $_POST['message'] . "\n".'Город: '.$_POST ['city'] . "\n".'Страна: '.$_POST ['country'], $config['charset'] ) ) ); вместо: $message = trim(stripslashes( convert_unicode($_POST['message'], $config['charset'] ) ) ) Цитата Ссылка на сообщение Поделиться на других сайтах
sion999 0 Опубликовано: 7 сентября 2011 Рассказать Опубликовано: 7 сентября 2011 (изменено) Автор Вроде не в тему, но продолжение. Я создал вторую форму на базе feedback. Вроде работает, но там ещё нужны доработки. Столкнулся с проблемкой заголовка. В заголовке отображается так: <title>Обратная связь » site.ru</title> Где можно изменить этот тег. Я так понимаю за это отвечает feedback.php, которая лежит в modules, а не в ajax. Но не могу понять где менять или прописать насильно ручками. Ведь <title> играет важную роль для поисковых систем. И не очень хочется иметь две страницы с одинаковым <title>. В моём случае есть три дополнительные страницы feedback2.php + feedback2.php (в папках modules + ajax) и feedback2.tpl в templates. Вот для этой формы и нужно поменять <title>. Зарание благодарен. Изменено 7 сентября 2011 пользователем sion999 Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 7 сентября 2011 Рассказать Опубликовано: 7 сентября 2011 В результате код получился такой: $message = trim ( stripslashes ( convert_unicode ( $_POST['message'] . "\n".'Город: '.$_POST ['city'] . "\n".'Страна: '.$_POST ['country'], $config['charset'] ) ) ); Вместо . "\n".'Город: ' . используйте . "\nГород: " . Цитата Ссылка на сообщение Поделиться на других сайтах
Respayn 1 Опубликовано: 16 ноября 2011 Рассказать Опубликовано: 16 ноября 2011 Сделал по тому же принципу и один черт не отправляет данные с дополнительных полей. Ответьте мне - если за отправку отвечает файл с папки ajax - то нам надо менять строку $message = trim(stripslashes( convert_unicode($_POST['message'], $config['charset'] ) ) ) на $message = trim ( stripslashes ( convert_unicode ( $_POST['message'] . "\n".'Город: '.$_POST ['city'] . "\n".'Страна: '.$_POST ['country'], $config['charset'] ) ) ); в файле который лежит в папке модулей? Или она остается неизменной? Цитата Ссылка на сообщение Поделиться на других сайтах
a1ex 60 Опубликовано: 17 ноября 2011 Рассказать Опубликовано: 17 ноября 2011 JS рулит, что вы все в php пытаетесь тыркаться Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.