package com.example.sangjun.nulsecall;
import android.app.LauncherActivity;
import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import java.io.IOException;
import java.util.ArrayList;
public class p_regist extends AppCompatActivity {
Button regist;
EditText etId, etPass, etName, etDx, etNurse;
private final String SERVER_ADDRESS = "http://172.30.1.26:80";
String id, password, name, dx, nurseName, role;
ArrayList<PatientInfo> listitem = new ArrayList<PatientInfo>();
LauncherActivity.ListItem Item;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_p_regist);
etId = (EditText) findViewById(R.id.editText5);
etPass = (EditText) findViewById(R.id.editText6);
etName = (EditText) findViewById(R.id.editText15);
etDx = (EditText) findViewById(R.id.editText17);
etNurse = (EditText) findViewById(R.id.editText16);
id = etId.getText().toString();
password = etPass.getText().toString();
name = etPass.getText().toString();
dx = etDx.getText().toString();
nurseName = etNurse.getText().toString();
role = "2";
Log.d("name",name);
regist = (Button) findViewById(R.id.button10);
regist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
InsertData task1 = new InsertData();
Log.d("어디","1");
Log.d("name123",name);
task1.execute(new String[]{"http://165.194.34.207:80/patientInfo.php"});
Log.d("어디", "2");
// String url = "165.194.34.204/patient?id="+id+"$pass="+pass+"$name="+name+"$dx="+dx+"$nurse="+nurse+"$role="+role;
}
});
}
private class InsertData extends AsyncTask<String,Void,Boolean>{
ProgressDialog dialog = new ProgressDialog(p_regist.this);
protected void OnPreExecute() {
dialog.setMessage("Sending Data.... ");
dialog.show(); ////우선수행
Log.d("어디", "3");
}
@Override
protected Boolean doInBackground(String... urls) {
////백그라운드 수행 주소 받아서 post방식으로 전송
Log.d("어디","4");
for (String url : urls) {
Log.d("password",password);
try {
ArrayList<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("id",id));
pairs.add(new BasicNameValuePair("password", password));
pairs.add(new BasicNameValuePair("name", name));
pairs.add(new BasicNameValuePair("dx", dx));
pairs.add(new BasicNameValuePair("nurseName", nurseName));
pairs.add(new BasicNameValuePair("role", role));
Log.d("id",id);
////// 입력하는 3개 요소를 namevaluepair 형식으로 만들어 전송한다.
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
post.setEntity(new UrlEncodedFormEntity(pairs));
HttpResponse response = client.execute(post);
} catch ( ClientProtocolException e) {
Toast.makeText(p_regist.this, e.toString(), Toast.LENGTH_LONG).show();
Log.d("id2", id);
return false;
} catch (IOException e){
Log.d("어디",e.toString());
Log.d("id42", id);
e.printStackTrace();
Toast.makeText(p_regist.this, e.toString(), Toast.LENGTH_LONG).show();
return false;
}
}
return true;
}
protected void onPostExecute(Boolean result) {
if(result == true) {
Log.d("어디","5");
Log.d("id72", id);
Toast.makeText(p_regist.this, "Insert Success",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(p_regist.this, "Error",Toast.LENGTH_LONG).show();
}
dialog.dismiss();
}
}
}
이게 안드로이드 스튜디오 코드이고요!!
<head>
<meta http-equiv = "content-Type" content = "text/html" charset = "utf-8">
</head>
<?
$id = $_POST['id'];
$password = $_POST['password'];
$name = $_POST['name'];
$dx = $_POST['dx'];
$nurseName = $_POST['nurseName'];
$role = $_POST['role'];
//$sql = "insert into ".$table." (id, pw, name, email, date) values('$id', '$pw', '$name', '$email', '$date')";
$qry = "insert into patientinfo (id, password, name, dx, nurseName, role) values('$id', '$password', '$name', '$dx', '$nurseName', '$role');";
$result = mysqli_query($connect,$qry) or die();
print(json_encode($flag));
//mysql_close($connect);
?>
이게 php코드 입니다. connect는 보안상 지웠구요
근데 이코드가 돌아가긴 잘돌아가는데 데이터 베이스에 들어갈 때 마지막 String을 직접 넣어준 2만들어가지
EditText로 받아온 값이 안들어가더라고요 중간중간 LOG도 찍어봤는데 무슨이유인지 String 변수는 안나오고요
확인한번만 부탁드리겠습니다ㅠㅠ