小弟目前在做畢業專題,在登入的地方由android studio傳送參數
幾乎都是自學,但爬了很多文都還是無法成功登入
想請問大大們該如何在web server裡用php語法接收參數?
還是說程式的部分有錯誤
以下是我們的程式碼:


public class login extends AppCompatActivity {
TextView t1;
EditText ednum, edpw;
Button aaa;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_main);
ednum = findViewById(R.id.ednum);
edpw = findViewById(R.id.edpw);
aaa = findViewById(R.id.Loginbtn);

boolean flag = false;
try{
HttpPost request = new HttpPost("http://192.168.1.127:8080/login.php");
List<NameValuePair> params = new ArrayList<> ();
params.add(new BasicNameValuePair("nu", ednum.getText().toString()));
params.add(new BasicNameValuePair("pw", edpw.getText().toString()));
request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpResponse response= new DefaultHttpClient().execute(request);
if (response.getStatusLine().getStatusCode() !=404){
flag = Boolean.parseBoolean(EntityUtils.toString(response.getEntity()).trim());
}
} catch (Exception e){
e.printStackTrace();
Toast.makeText(this,"Web 伺服器連接失敗",Toast.LENGTH_SHORT).show();
}
if (flag){
Toast.makeText(this,"使用者登入成功",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"使用者登入失敗",Toast.LENGTH_SHORT).show();
}
}
}


感謝大家的回覆QQ
didilong wrote:
小弟目前在做畢業專...(恕刪)

1. 你安卓這邊沒有發起多執行續 畫面會卡住

用這種模式傳送POST的話>>>"application/x-www-form-urlencoded"
postData = "firstName=Jeremy&lastName=&age=18"; 中間用&連接即可


PHP 接收端 就一般的表單接收就可以撈到
http://www.wibibi.com/info.php?tid=295


==== 網路爬文 就有以下這種範例 =========
===安卓擷取部分====application/json模式 要改====
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(40000); //set timeout to 40 seconds
conn.setReadTimeout(40000); //set timeout to 40 seconds

conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setRequestProperty("Accept", "application/json");
conn.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(sendsource);
wr.flush();
wr.close();

inputStream = conn.getInputStream();

================ASP.Net Core C# 發送 參考=======
request.Method = "POST";
string postData = "firstName=Jeremy&lastName=&age=18";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";

======== ASP.Net Core C# 接收端參考 =======
[HttpPost] // 對應 <form method="post"> 只接受 Post 請求
public ActionResult Test(FormCollection coll)
{
var XX = coll["firstName"]; <<===撈到一個值
return View();
}
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!