Вы почти там. EncodeURIComponent правильно кодирует к UTF-8, который является тем, что необходимо всегда использовать в URL сегодня.
проблема состоит в том, что отправленная строка запроса становится искалеченной на пути в Ваш сценарий серверной стороны, потому что getParameter () использует ISO-8559-1 вместо UTF-8. Это происходит с Древних времен перед сетью, обоснованной на UTF-8 для URI/IRI, но это довольно вызывает жалость, что спецификация Сервлета не была обновлена для соответствия действительности, или по крайней мере предоставляет надежную, поддерживаемую возможность для нее.
(Существует request.setCharacterEncoding в Сервлете 2.3, но это не влияет на парсинг строки запроса, и если единственный параметр был считан прежде, возможно некоторым другим элементом платформы, это не будет работать вообще.)
, Таким образом, Вы должны к futz вокруг с определенными для контейнера методами получить надлежащий UTF-8, часто вовлекая материал в server.xml. Это полностью сосет для распределения веб-приложений, которые должны работать где угодно. Поскольку Tomcat видит http://wiki.apache.org/tomcat/FAQ/CharacterEncoding и также What' s различие между " URIEncoding" из Tomcat, Кодируя Фильтр и request.setCharacterEncoding.
Вы имеете в виду
if (isset($_POST['sms_code']) == TRUE ) {
, хотя, кстати, вы действительно имеете в виду
if(isset($_POST['sms_code'])) {
if (isset($_POST('sms_code') == TRUE ) {
замените эту строку на
if (isset($_POST['sms_code']) == TRUE ) {
Вы используете круглую скобкуseis () для $ _ POST
, но вам нужны квадратные скобки []
:)
OR
if (isset($_POST['sms_code']) && $_POST['sms_code']) {
//this lets in this block only if $_POST['sms_code'] has some value
Правильный синтаксис (в конце у вас отсутствовали круглые скобки):
if (isset($_POST['sms_code']) == TRUE ) {
^
ps вам не нужна часть == TRUE
, потому что BOOLEAN (true / false) - это уже вернулся.
Когда я читал на этой странице , я следовал по ссылке на MSDN, где нашел функцию GetBestInterface . Я смог использовать его, чтобы найти адаптер, подключенный к Интернету
-121--4222952-Дополнительная заметка, которую другие могут найти полезной, начиная с моей недавней попытки установить в Windows с помощью devkit Ruby:
Чтобы установить devkit, извлеките каталоги bin и devkit в каталог Ruby, который поместит несколько файлов в корзину Ruby и каталог devkit в каталог Ruby Затем, в соответствии с инструкциями, в файле fstab необходимо задать правильное расположение mingw.
В моем случае некоторые драгоценные камни, а именно Hpricot и Ruby-Debug19, не будут установлены в моей системе даже при правильной установке devkit из-за ошибки создания make-файла. В итоге я установил последнюю версию mingw отдельно от SourceForge, затем изменил файл fstab в каталоге « ruby19/devkit/msys/1.0.11/etc
», чтобы указать на каталог, где я установил mingw. Затем оба драгоценных камня установлены правильно.
Это также происходит при использовании пустого значения для возвращаемой функции:
!empty(trim($someText)) and doSomething()
, поскольку пустое значение не является функцией, а является конструкцией языка (не уверена), и оно принимает только переменные:
Правильно:
empty($someVar)
Неправильно:
empty(someFunc())
Поскольку PHP 5.5 поддерживает более переменных. Но если это нужно раньше 5.5, используйте обрезку ($ name) = = false
. Из пустой документации .