Неудается обработать URL

Наиль

Новичок
Неудается обработать URL

Здравствуйте
Я с помощью литературы написал программку, но есть проблема:
При запросе

http://******.ru/*/sms2.php?****&msg=841801 2512

Обозначаю переменную $msg
$msg = $_REQUEST["msg"];
switch($msg)
{
case 1801: case 2512: case 1801:
echo ("Otvet 1");
break;
case "841801":
echo ("Otvet 2");
break;
в результате msg=841801 и выдает "Otvet2", а мне необходимо, чтобы msg=2512 либо msg=8418012512
Как мне избавиться от %20 это пробел между префиксом и текстом сообщения в смс запросе
Заранее благодарен
 

Наиль

Новичок
msg=2512

при этом концовка URL будет всегда разной 2512, 1805, 2401 и тд
в зависимости от её концовки и будут формироваться ответы:"Otvet1" либо "Otvet2"
Нашел $url = rawurldecode($url); но как мне создать $url= ведь оно будет всегда разным
 

Baranov_Dron

Новичок
если нужны последние четыре цифры
$msg = substr( $_REQUEST["msg"], -4);
switch($msg)
........
или если пробел разделитель... и нужно, что после пробела
list($temp, $msg) = explode(" ", $_REQUEST["msg"], 2);
switch($msg)

-~{}~ 20.07.08 23:36:

http://php.net/urldecode
Зачем она нужна?! Ведь php сам при обращение $_REQUEST["msg"] должен сделать декод для этой строки! или я ошибаюсь?
 

Армян

Новичок
Наиль
тут у Вас два числа 841801 и 2512 какое конкретно из них вам нужно второе ? и зачем тогда передавать два числа одним параметром, не легче ли сделать msg1=841801&msg2=2512 ?

Baranov_Dron
ну если у Наиль появляются %20, то наверно не декодит. А должен или нет незнаю.
 

Наиль

Новичок
Автор оригинала: Армян
Наиль
Идеально было бы реализовать на последних четырех числах 2512, но если возможно программоное решение получить одно целое число 8418012512, я буду очень рад. . А передается данный параметр оператором сотовой связи, я с ним ничего не могу поделать:( . 841801 это постоянное занчение, а остальные меняются в 384 вариантах.

тут у Вас два числа 841801 и 2512 какое конкретно из них вам нужно второе ? и зачем тогда передавать два числа одним параметром, не легче ли сделать msg1=841801&msg2=2512 ?

Baranov_Dron
ну если у Наиль появляются %20, то наверно не декодит. А должен или нет незнаю.
 

Армян

Новичок
Наиль
можно просто удалить из строки %20 тогда у вас и получится число 8418012512
как это сделать написано тут http://php.net/str_replace

вариант Baranov_Dron должен работать какраз по последним 4 цифрам.
 

Наиль

Новичок
Автор оригинала: Армян
Наиль
Да я почитал, должно, но пишет "Ne verniy text sms". Я раньше писал $msg = ( $_REQUEST["msg"],); получалось что $msg =841801
$msg = substr( $_REQUEST["msg"], -4);
switch($sign)
{
case 8418: case 84: case "1801":
echo ("Otvet 1");
break;
case 1802:
echo ("Otvet 2");
break;
default:
echo ("Ne verniy text sms");


можно просто удалить из строки %20 тогда у вас и получится число 8418012512
как это сделать написано тут http://php.net/str_replace

вариант Baranov_Dron должен работать какраз по последним 4 цифрам.
-~{}~ 21.07.08 19:10:

Все!!!
СПАСИБО ОГРОМНОЕ
Извеняюсь у меня опечатка в программе была.
Еще раз персональное спасибо Армян и Baranov_Dron
Реализовал как и сказал Baranov_Dron.
 

Baranov_Dron

Новичок
<Армян, Baranov_Dron, орбит, дирол?
Что-то я шутку юмора не понял, в чём подкол?
 

Ralph

Дикий столяр
Зря ты так.. Возможно-человек с неуравновешенной психикой,возможно-человек настроения,но мудак-вряд ли...
 

Wicked

Новичок
beejuice
получаете предупреждение за использование ненормативной лексики.

Если кто-то из модераторов уже делал предупреждение 3 дня назад, предлагаю бан.
 

dimagolov

Новичок
2 Армян: ошибка в том, что параметры надо передавать в отдельных переменных и обращаться к ним через $_GET['param_name']
то, чем занялись вы - выковыривать через substr да еще и из $_REQUEST это маразм.

надо было у ТС-а в первую очередь поинтересоваться, почему шлеться якобы СМС а по факту получается GET запрос к его сайту.

2 HraKK - описка вышла :)
 

Baranov_Dron

Новичок
dimagolov
Это всё понятно, но автору темы виднее, у него задача под рукой, а не у нас. Из того, что ты сказал непонятно только одно, чем массив $_REQUEST тебе не нравится?
 

dimagolov

Новичок
Baranov_Dron, ну а ты посмотри что у тебя там будет в таком случае, а потом посмотри в $_GET и $_POST:
Код:
<form action= 'form.php?param1=123' method= 'POST'>
<input type= 'text' name='param1'>
<input type= 'submit'>
</form>
а на счет "автору виднее", так вот как раз тут тебе лучше жевать, потому что помощь в бредовом решении бредовой проблемы, которых бы не было бы, если бы отправка параметров была бы сделана по-людски, ни коим образом не делает тебе чести.
 

Baranov_Dron

Новичок
Да всё понятно...
POST /test3.php?param1=123 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Content-Length: 7

param1=

Спасиб, в чём разница я понял, как-то не задумывался о таком. И случаев таких, где разница видна не было....
<если бы отправка параметров была бы сделана по-людски, ни коим образом не делает тебе чести.
Да((( согласен... Тут я не прав...
 
Сверху