Member 12864565 Ответов: 1

Отправить данные из 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. но не получилось

1 Ответов

Рейтинг:
0

Mohtshm Zubair

Одна вещь, которая недавно произошла с нами, когда мы переносим наше приложение на LINUX-сервер, заключается в том, что * Unix-серверы чувствительны к регистру.

Я разделяю это, так как это также может сэкономить УР часов