Отправить данные из Android-приложения на PHP страницы имеет значение null
Всем привет,
У меня есть android-приложение, которое взаимодействует со страницей php для вставки данных в таблицу mysql. он хорошо функционировал на сервере windows. Недавно мы были вынуждены перенести приложение на linux-сервер по какой-то другой причине. После этого возвращается некоторая ошибка. Когда я перепроверяю каждую вещь, никакие данные не поступают из приложения android на страницу php.
Android отправляет данные с помощью метода post. Тип контента - "application/x-www-form-urlencoded". Данные кодируются в формате UTF-8.
Я могу правильно видеть значения переменных в приложении android. Но когда мы извлекаем его на Php-странице, возвращается "null". Когда мы присваиваем значение на странице php это работает
Тот же самый код прекрасно работал на windows server. Поэтому я пришел к выводу, что проблема была с настройками сервера.
Кодировка по умолчанию сервера не была UTF-8, и я попросил команду сервера установить ее так, и они сделали то же самое, добавив следующий файл code. htaccess
// . htaccess код
suPHP_ConfigPath /home/mydom/php.ini ## EXPIRES CACHING ## <ifmodule mod_expires.c=""> ExpiresActive On ExpiresByType image/jpg "access 1 week" ExpiresByType image/jpeg "access 1 week" ExpiresByType image/gif "access 1 week" ExpiresByType image/png "access 1 week" ExpiresByType text/css "access 1 week" ExpiresByType application/pdf "access 1 week" ExpiresByType application/x-javascript "access 1 week" ExpiresByType application/x-shockwave-flash "access 1 week" ExpiresByType image/x-icon "access 1 week" ExpiresDefault "access 2 days" ## EXPIRES CACHING ## <ifmodule mod_gzip.c=""> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* <ifmodule mod_php5.c=""> php_value default_charset "UTF-8" <ifmodule mod_php5.c=""> php_value safe_mode off <ifmodule mod_php4.c=""> php_value safe_mode off
Есть ли какие-либо другие настройки, которые нужно изменить или добавить в файл. htacess, чтобы он работал
Код Android
String pdts=jsonobj.toString(); String citms=citm.toString(); url = new URL("http://www.mydom.in/myphppage.php"); String pdtsenc=URLEncoder.encode(pdts, "UTF-8"); String citmsenc=URLEncoder.encode(citms, "UTF-8"); String param = "cdt=" + pdtsenc + "&idt=" + citmsenc; conn=(HttpURLConnection)url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setFixedLengthStreamingMode(param.getBytes().length); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); PrintWriter out = new PrintWriter(conn.getOutputStream()); out.print(param); out.close();
PHP-код
$cdt = urldecode($_POST['cdt']); //the above code returns null $cdt = json_decode($cdt , true); $idt = urldecode($_POST['idt']); // the above code returns null $idt = json_decode($idt , true);
Пожалуйста, предложите решение для этого
Заранее спасибо!!!
Что я уже пробовал:
Я попытался изменить кодировку сервера по умолчанию на UTF-8. но не получилось