Android字符串发布到PHP服务器


Android String Post to PHP server

摘要-我从edittext中提取文本并将其发送到服务器。服务器将这些字符串放入文本文件-没有可见的错误。-服务器收到我的帖子,但它有一个onyl空字符串。

这是我的邮政编码

 public void onClick(View v) {
 new AlertDialog.Builder(GorusHataBildirimActivity.this)
  .setTitle("Bildirim Yola")
    .setMessage("Bildirim yollamak istiyor musunuz ?")
    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
Thread thread = new Thread(new Runnable(){
     @Override
     public void run() {
          try {
EditText isim = (EditText) findViewById(R.id.editText);
EditText email = (EditText) findViewById(R.id.editText2);
EditText mesaj = (EditText) findViewById(R.id.editText3);
CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox);
CheckBox checkBox2 = (CheckBox) findViewById(R.id.checkBox2);
String a = isim.getText().toString();
String b = email.getText().toString();
String c = mesaj.getText().toString();
String s = "Debug-infos:";
String k = "Debug-infos:";
if (checkBox1.isChecked()) {
s += "'n OS Version: " + System.getProperty("os.version") + "(" + android.os.Build.VERSION.INCREMENTAL + ")" + "'n OS API Level: " + android.os.Build.VERSION.SDK_INT;
}else {
s= "0";
}
if (checkBox2.isChecked()) {
k += "'n Device: " + android.os.Build.DEVICE + "'n Model (and Product): " + android.os.Build.MODEL + " (" + android.os.Build.PRODUCT + ")";
}else {
k = "0";
}
HttpClient client=new DefaultHttpClient();
HttpPost getMethod=new HttpPost("http: my  url /bildirimler/bildirim.php");
try{

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
nameValuePairs.add(new BasicNameValuePair("isim","dsa"));
nameValuePairs.add(new BasicNameValuePair("email",b));
nameValuePairs.add(new BasicNameValuePair("mesaj",c));
nameValuePairs.add(new BasicNameValuePair("d1",s));
nameValuePairs.add(new BasicNameValuePair("d2",k));
getMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
client.execute(getMethod);

} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
          } catch (Exception e) {
e.printStackTrace();
          }
     }
});
thread.start();

我认为这个代码(android端)不能正常工作。

这是php代码

<?php
$dateFile = date('d-m-Y_hia').".txt";
$dataString = "isim:" . $isim . "mail:" . $mail.  "mesaj:" . $mesaj.  "d1:" . $d1. "d2:" . $d2.  "'n";
$fWrite = fopen($dateFile,"a");
$wrote = fwrite($fWrite, $dataString);
fclose($fWrite);
print "file created and written to";
?>

此外,
nameValuePair.add(新的BasicNameValuePair("isim","dsa"))
在那里,我使用了"dsa",而不是像bc(我的代码中的字符串)那样使用字符串名称,但仍然不起作用。

我的输出文件如下"isim:mail:masaj:d1:d2:"

看起来您需要正确地捕获PHP代码中的数据。

<?php
if (isset($_POST['isim']) && isset($_POST['email']) && isset($_POST['mesaj']) && isset($_POST['d1']) && isset($_POST['d2'])) {
 $isim = $_POST['isim'];
 $mail = $_POST['email'];
 $mesaj = $_POST['mesaj'];
 $d1 = $_POST['d1'];
 $d2 = $_POST['d2'];
 $dateFile = date('d-m-Y_hia').".txt";
 $dataString = "isim:" . $isim . "mail:" . $mail.  "mesaj:" . $mesaj.  "d1:" . $d1. "d2:" . $d2.  "'n";
 $fWrite = fopen($dateFile,"a");
 $wrote = fwrite($fWrite, $dataString);
 fclose($fWrite);
 print "file created and written to";
} else {
 print "missing required input";
}
?>