Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: И снова настройки Apache.....
 
 автор: Sfinks   (28.12.2004 в 06:29)   письмо автору
 
 

Доброе утро! :-))

Проблема такая: когда php вызывается с русским значением параметра, например:
http://localhost/test.php?p=привет
то выдает такую ошибку....
500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Что с ним нужно сделать?!

   
 
 автор: localGhost   (28.12.2004 в 06:57)   письмо автору
 
   для: Sfinks   (28.12.2004 в 06:29)
 

использовать в строке запроса только латинские символы.

   
 
 автор: Sfinks   (28.12.2004 в 09:01)   письмо автору
 
   для: localGhost   (28.12.2004 в 06:57)
 

Не смешно =((
На удаленном хосте работает и с русскими

   
 
 автор: Sfinks   (28.12.2004 в 09:09)   письмо автору
 
   для: localGhost   (28.12.2004 в 06:57)
 

И попутно еще вопрос:

Как сделать чтоб в запросе читался символ "+"?
Т.е. на запрос:
.../test.php?p=qwe+rty
код
<?
  $p 
$_GET['p'];
  echo 
$p;
?>
возвращает:
qwe rty
а нужно, чтоб возвращалось 1:1.

И какие еще символы на че заменяются?
Я заметил
' -> \'
" -> \"
\ -> \\

Есть что-то еще?

   
 
 автор: glsv (Дизайнер)   (28.12.2004 в 09:38)   письмо автору
 
   для: Sfinks   (28.12.2004 в 09:09)
 

+ - это специальный символ, который используеся для объединения частей запроса в строке браузера.
Если Вы хотите передать именно плюс, то его нужно закодировать. Вот эта комбинация символов означает плюс: %2B
И вам запрос примет вид:

qwe%2Brty 


Вы сами можете смотреть какие символы как кодировать используя функцию
string urlencode ( string str)


<?
  $str 
"искомый символ";
  
$str urlencode ($str);
  echo 
$str;
?>

   
 
 автор: Sfinks   (28.12.2004 в 09:53)   письмо автору
 
   для: glsv (Дизайнер)   (28.12.2004 в 09:38)
 

Дело в том, что я не контролирую, в каком виде оформляется параметр! Я могу контролировать только процесс его обработки.

Т.е. я пишу php и ставлю в BeeLine на него ссылку следующим образом:
MASTER имя_мастера SETURL http://adres/file.php?text=%voc%

Затем пользователь обращается к сервису (по SMS) следующим образом:
MASTER имя_мастера sdhf@%*&! и вообще любые символы и слова.

В результате BeeLine формирует такой запрос:
http://adres/file.php?text=sdhf@%*&! и вообще любые символы и слова.

Так как мне получить весь параметр text целиком?!

   
 
 автор: Sfinks   (28.12.2004 в 10:04)   письмо автору
 
   для: glsv (Дизайнер)   (28.12.2004 в 09:38)
 

Да, и как все-таки мне Apache (или PHP) настроить, чтобы принималось руское значение параметра?
Или ето тоже *NIX позволяет, а Windows - НЕТ? На удаленном-то хосте принимается нормально... И обрабатывается, и возвращается!

   
 
 автор: Sfinks   (28.12.2004 в 09:21)   письмо автору
 
   для: localGhost   (28.12.2004 в 06:57)
 

После # и & ваще параметр обрывается.

   
 
 автор: cheops   (28.12.2004 в 10:01)   письмо автору
 
   для: Sfinks   (28.12.2004 в 06:29)
 

Хм... вообще русские символы являются недопустимыми и следует и содержащие их параметры следует шифровать при помощи функции urlencode http://www.softtime.ru/dic/id_dic=276&id_group=10, а потом в скрипте расшифровывать при помощи urldecode http://www.softtime.ru/dic/id_dic=275&id_group=10

   
 
 автор: Sfinks   (28.12.2004 в 10:09)   письмо автору
 
   для: cheops   (28.12.2004 в 10:01)
 

К примеру, вот гляньте ссылку:
[url]Ну я вижу посмотрели, теперь я ее сотру :-))[/url]

   
 
 автор: cheops   (28.12.2004 в 10:22)   письмо автору
 
   для: Sfinks   (28.12.2004 в 10:09)
 

У меня браузер автоматически её преобразовал в http://www.***.com/sfinks/transchat.php?pid=%D5%D5%D5&nik=%D5%D5%D5®=Volgograd&txt=Privet%20%EF%F0%E8%E2%E5%F2! - т.е. осуществил кодирование русских букв.
[поправлено модератором]
Домен стерт, так как Sfinks спрятал URL в предыдущем сообщении.

   
 
 автор: Sfinks   (28.12.2004 в 10:25)   письмо автору
 
   для: cheops   (28.12.2004 в 10:22)
 

А у меня ниче не преобразует!
Я ссылку из строки адреса Вам скопировал после просмотра.

   
 
 автор: localGhost   (28.12.2004 в 10:30)   письмо автору
 
   для: Sfinks   (28.12.2004 в 10:25)
 

а у меня выскачило окошко "сохранить файл" (на что я несколько удивился), я его сохранил и решил посмотреть содержимое, в нем было следующее:
Послано (2): Privet привет!
$PID
SNTKS4 ХХХ> Privet привет!
RLXEU4 ХХХ> Privet привет!


понятия не имею что тут и как ))))))))))

   
 
 автор: Sfinks   (28.12.2004 в 10:43)   письмо автору
 
   для: localGhost   (28.12.2004 в 10:30)
 

Ну окошко "сохранить" - это судя по всему Ваш браузер text/plain файлы воспринимает, как архив или что-то подобное, что не обязательно отображать, но нужно сохранить...

А содержание верное. Про ето я и говорю, что на удаленном хосте все нормально обрабатывается.

Лана, буду с urlencode() мудрить ;-))

   
 
 автор: Sfinks   (28.12.2004 в 12:43)   письмо автору
 
   для: Sfinks   (28.12.2004 в 10:43)
 

ЗАРАБОТАЛО!!! =))

ОГРОМНОЕ СПАСИБО =))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования