Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 707
от 08.07.2007, 16:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 421, Экспертов: 71
В номере:Вопросов: 2, Ответов: 6


Вопрос № 93714: Здравствуйте! Такой вопрос: хочу сделать поддержку языков на сайте, точнее она у меня уже есть, по $_GET['lng'] передается информация о языке, хотелось бы переделать эту весчь с использованием ЧПУ (человекопонятный URL) но проблема в том что мне ...
Вопрос № 93761: Добрый день! При вставке в БД выдается ошибка: Parse error: parse error, unexpected T_STRING in z:homelocalhostwwwworkead01.php on line 42 Если перед и после данных поставить точки и одинарную кавычку все работает нормально. Но ...

Вопрос № 93.714
Здравствуйте!
Такой вопрос: хочу сделать поддержку языков на сайте, точнее она у меня уже есть, по $_GET['lng'] передается информация о языке, хотелось бы переделать эту весчь с использованием ЧПУ (человекопонятный URL) но проблема в том что мне нужно распространить этот ЧПУ только на переменную lng тоесть в итоге получить http://localhost/ru/ - русская версия http://localhost/en/ - английская версия!, пробема в том что все примеры реализации ЧПУ меняют все переменные на "катологи"
Притом обращение к http://localhost/forum/ должно обрабатываться нормально и навигация по сайту с добавленным ru или en или без них должна работать!!!
Думаю задача посильная!
Кто даст ответ - тому виртуальное пиво :) кто не пьет пиво тому сок!!! :)
P.S.: информации по mod_rewrite и реализации ЧПУ начитался вдоволь, просьба кидать ссылки ТОЛЬКО если в примере обрабатывается часть url

P.S.S.: кстати а что делать с POST формами при ЧПУ??? кто-нибудь реализовал??? - вопрос не главный кто ответит ТОЛЬКО на него получит виртуальную единицу! :P
Отправлен: 03.07.2007, 01:13
Вопрос задал: Nooki (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Cimus
Здравствуйте, Nooki!
В приложении вариант .htaccess, вполне рабочий.
Есть одно но, приставка en/ или ru/ должна добавляться в конце урла.
пример :
http://localhost/ru/
http://localhost/forum/ru/
Папка forum должна существовать.
Если не понятно пишите в мини-форум.

Приложение:

---------
трикотаж http://evkrata.ru/

Ответ отправил: Cimus (статус: Студент)
Ответ отправлен: 03.07.2007, 12:05
Оценка за ответ: 5
Комментарий оценки:
ОТЛИЧНО, думаю это как раз то что мне нужно!

Отвечает: PVS
Здравствуйте, Nooki!
1)Вы сами задаёте регулярное выражение согласно которому будет преобразован URL. Таким образом Вам нужно что-то типа:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(..)/(.*)$ /$2?lng=$1
Тоесть если запрашиваемый URL не является реально существующим файлом или каталогом и соответствует виду /{два символа}/{что-то ещё} то его надо преобразовать к виду
/{что-то ещё}?lng={два символа}

Тут есть засада. Если у Вас есть запросы вида:
/ru/articles/?art_no=1
то они преобразуются неправильно и для них нужно придумать цепочку правил посложнее.

2)POST-данные не затрагиваются при обработке mod_rewrite и если переписывание произошло, то POST-запрос всё равно прийдёт, но уже по "переписаному" адресу.
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 03.07.2007, 12:26
Оценка за ответ: 5


Вопрос № 93.761
Добрый день!
При вставке в БД выдается ошибка:
Parse error: parse error, unexpected T_STRING in z:homelocalhostwwwworkead01.php on line 42
Если перед и после данных поставить точки и одинарную кавычку все работает нормально.
Но в описаниях оператора insert я этого не нашел или не понял.
Пожалуйста обьясните.

И второй вопрос:
Как при пополнении БД записями из файла в котором кодировка DOS,
сделать чтобы записи в БД смотрелись нормально?
Спасибо.

Приложение:

Отправлен: 03.07.2007, 11:45
Вопрос задал: Eliz (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Yurio
Здравствуйте, Eliz!
Правильно, у Вас и должна выдоваться в данном случае ошибка.
Правильно будет так:
$query="insert into tbl values ("hhh","eee","www","uuu")"; - то есть закоментированные кавычки, или же так:
$query='insert into tbl values ("hhh","eee","www","uuu")'; - используются одинарные кавычки.

Ответ отправил: Yurio (статус: 2-ой класс)
Ответ отправлен: 03.07.2007, 11:57
Оценка за ответ: 4

Отвечает: PVS
Здравствуйте, Eliz!
1)у Вас строка ограничена двойными кавычками. Таким образом правильной частью является
"insert into tbl values ("
а всё, что после неё вызывает ошибку.

Для того чтобы написать кавычки внутри строки ограниченой такими же кавычками надо их экранировать слэшами:
$query="insert into tbl values ("hhh","eee","www","uuu")";
или
$query='insert into tbl values ('hhh','eee','www','uuu')';

Если же кавычки разные, то всё понимается правильно:
$query="insert into tbl values ('hhh','eee','www','uuu')";
$query='insert into tbl values ("hhh","eee","www","uuu")';

2)Перекодируйте:
$value_1251=iconv("CP866", "CP1251",$value_866);
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 03.07.2007, 11:57
Оценка за ответ: 5
Комментарий оценки:
Спасибо!!!!!!!

Отвечает: Powoditch konstantin
Здравствуйте, Eliz!
Символы " надо екранировать слешами или писать апострофы. В приложении исправленный вариант.

Приложение:

Ответ отправил: Powoditch konstantin (статус: 2-ой класс)
Ответ отправлен: 03.07.2007, 15:27

Отвечает: BerdArt
Здравствуйте, Eliz!
Со вторым вопросом помочь не могу, а с первым подскажу:
Правильно записать этот запрос надо след. образом:
$query="insert into tbl values ('hhh','eee','www','uuu')";
Объясняю: у вас строка запроса выглядит след. образом "insert into tbl values (", а все что дальше не обрабатывается как запрос, а может быть только то что заключено в двойные кавычки, т.е. такие строки: "," "," "," ")"
Поэтому у вас такие получались результаты. Ну вот вроде и все. Думаю понятно.
Удачи!
Ответ отправил: BerdArt (статус: 2-ой класс)
Ответ отправлен: 03.07.2007, 20:16


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное