Click here to Skip to main content
15,908,172 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi all,

I have an android application which communicates with a php page to insert data into mysql table. it was functioning well on an windows server. Recently we were forced to move the application to a linux sever for some other reason. After that some error is returned. When I cross checked every thing, no data is received from the android application to the php page.
Android send data using post method. Content type is "application/x-www-form-urlencoded". Data is encoded using UTF-8 format.

I can see the variables values correctly in android app. But when we fetch it in Php page "null" is returned. When we assign a value in php page it works

The same code was working finely on windows server. So I have concluded that problem was with the server settings.
Default charset of server was not UTF-8 and I asked server team to set it so and they did the same adding the following code .htaccess file

// .htaccess code

PHP
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


Is there any other setting to be changed or added in .htacess to get it working


Android code

Java
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 code

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);

Please suggest a solution for this

Thanks in Advance!!!

What I have tried:

I have tried changing default charset of server to UTF-8. but did not work
Posted

1 solution

One thing which recently happened to us when we migrate our application to LINUX server that *Unix servers are CASE sensitive.

I share this as It could also save ur hours
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900