shiyri
Добрый день, делаю адресную книгу со ссылками типа:
http://admin:admin@192.168.0.161/cgi-bin/ConfigManApp.com?key=F_HANDFREE;000@1;OK
а при переходе получается
http://admin:admin@192.168.0.161/cgi-bin/ConfigManApp.com?key=F_HANDFREE%3B000%401%3BOK
как сгенерировать нормальную ссылку?PHP:
<form method=«get» action=«http://admin:admin@’.$ip.’/cgi-bin/ConfigManApp.com»> <input type=«hidden» name=«key» value=«F_HANDFREE;’.$row[‘phone’].’@1;OK»> <button id=«payment-button» type=«submit» class=«btn btn-lg btn-info btn-block»> <i class=«fa fa-phone fa-lg»></i> <span id=«payment-button-amount»>‘.$row[‘phone‘].’</span> </button> </form>
miketomlin
Это и есть нормальный адрес. Браузер его тебе просто не показывает. В ссылках в HTML-коде тоже лучше такие использовать, чтобы браузер не пытался сам кодировать.
— Добавлено —
Вообще нефиг форму городить ради обычного перехода по ссылке. Тег A. Слыхали о таком?
shiyri
Эта ссылка дает команду ip телефону звонить по номеру 000, если я рукой вставляю с ; то звонок активизируется, если с другими знаками то ничего не происходит.
Как мне экранировать ; и @ или делать ссылку без замены. И еще лучше без перехода.
После перехода пишется на весь экран:
200 OK Request Succes
пользователю эта лишняя информация.
ссылкой только в firefox работает, яндекс браузер отметает лишнее…..
miketomlin
Может, метод должен быть POST.
shiyri
Copyright © D-Link, 2015
Команды URIпозволяют выполнять не только набор отдельных клавиш, но и выполнить набор номера целиком с помощью следующих команд:
http://<IPтелефона>/cgi-bin/ConfigManApp.com?key=F_HANDFREE;2;3;2;3;@1;ENTER
или
http://<IPтелефона>/cgi-bin/ConfigManApp.com?key=F_HANDFREE;2323@1;OK
где<IPтелефона>–это IPадрес устройства;
2323–набираемый номер;
@1–выбор линии SIP;
;-разделитель.
В связи с тем,что при посылке знака решётки “#” посредствам URI этот знак обрабатывается и не отправляется в запрос, при наборе номера целиком вместо него предусмотренно использовать знак “$”. Например, для набора номера 12#34необходимо в URI указывать 12$34
мне кажется это гет
miketomlin
Никак. Это противоречит протоколу. Собака вроде может не кодироваться.
GET-параметры могут быть и у POST. В любом случае точка с запятой в адресе должна кодироваться.
shiyri
а если это все таки будет ссылка, возможно ее сделать без перехода?
Или может какой-то обработчик отдельный сделать с возвратом на страницу.
miketomlin
AJAX
С возвратом откуда, из телефона?
— Добавлено —
Если телефон может устанавливать статус 3xx и возвращать Location, то пожалуйста
shiyri
посмотрел оч сложно с аякс, не могу понять…
я имел ввиду, что б обработчик на php сделал запро гет и вернулся на искомую страницу.
Drunkenmunky
Попробуйте описать суть задачи, а не её решение, как вы его себе представляете.
shiyri
Задача сделать таблицу из MySQL, с фио, отделом, офисом, почтой и кликабельным номером телефона. Если сотрудник жмёт на ссылку/submit с номером телефона, то с его ip телефона происходит вызов этого абонента…все кроме ссылок работает. Хотелось бы кросплатформенные ссылки, и без перехода на 200 OK
Drunkenmunky
PHP:
file_get_contents(‘http://admin:admin@192.168.0.161/cgi-bin/ConfigManApp.com?key=F_HANDFREE;000@1;OK’);
Максим Матвийчина
Это возможно реализовать, однако ссылки (URL адреса) не могут содержать таких символов как «@», «;».
Если Вы хотите, чтоб каждый пользователь имел уникальную ссылку, создайте в таблице MySQL еще одно поле KEY, с уникальными значениями типа «F_HANDFREE-2323—1-OK» (без запрещенных в URL симоволов).
Тогда Вы сможете создавать красивые ссылки типа «ConfigManApp.com?key=F_HANDFREE-2323—1-OK» и Ваш скрип сможет находить пользователя по его KEY.