本帖最後由 ph860625a 於 2012-10-24 15:41 編輯
ploglin 發表於 2012-10-17 09:45
一般來說在 PHP 的部份,我們會用 JSON 或 XML 格式輸出內容,方便 Java 去解析。
{status: true}
現在改成這樣還是無法判斷驗證跳轉登入,只會出現一個小視窗提示登入成功卻沒跳轉,現在是在PHP判斷帳密是否正確,然後回傳值給JAVA ,如果回傳值正確就執行跳轉,不好意思是JAV程式初學者不太懂JSON@@" 麻煩版主指點一下!!謝謝
etName = (EditText) findViewById(R.id.etName);
etPwd = (EditText) findViewById(R.id.etPassword);
btnPost = (Button) findViewById(R.id.button01);
btnPost.setOnClickListener(new OnClickListener() {
//@Override
public void onClick(View v) {
HttpPost request = new HttpPost("http://xxx.xxx.xxx.xxx/a123.php");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", etName.getText().toString()));
params.add(new BasicNameValuePair("pwd", etPwd.getText().toString()));
try {
request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpResponse response = new DefaultHttpClient().execute(request);
if(response.getStatusLine().getStatusCode() == 200){
String result = EntityUtils.toString(response.getEntity());
Toast.makeText(Activity01.this, result, Toast.LENGTH_LONG).show();
}}
catch (Exception e) {
Toast.makeText(Activity01.this, e.getMessage().toString(), Toast.LENGTH_LONG).show();
e.printStackTrace();
}
HttpClient client = new DefaultHttpClien();
StringBuilder builder = new StringBuilder();
HttpGet myget = new HttpGet("http://xxx.xxx.xxx.xxx/a123.php");
try {
HttpResponse response = client.execute(myget);
BufferedReader reader = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
for (String s = reader.readLine(); s != null; s = reader.readLine()) {
builder.append(s);
}
JSONObject jsonObject = new JSONObject(builder.toString());
String re_username = jsonObject.getString("member");
//Log.v("url response", "true="+re_username);
if(re_username == "true"){
Intent intent = new Intent();
intent.setClass(Activity01.this, ChangeActivity.class);
startActivity(intent);
Activity01.this.finish();
}
} catch (Exception e) {
Log.v("url response", "false");
e.printStackTrace();
}
}
});
}
}
<?php
// 建立 MySQL 資料庫的連線
$link = mysql_connect('127.0.0.1', 'root', 'xxxxxx');
// 設定在用戶端使用UTF-8的字元集
mysql_set_charset('utf8', $link);
// 選擇 MySQL 資料庫ch15
$db_selected = mysql_select_db('member_system', $link);
// 傳回class資料表的所有紀錄
$result = mysql_query('SELECT * FROM member');
$str="select id,pw from member";
$list =mysql_query($str,$link);
$num=mysql_num_rows($list); //獲得紀錄數
list($id,$pw)= mysql_fetch_row($list); //取得資料
mysql_close($link);
if($REQUEST_METHOD == 'POST'){
$name = $_POST['name'];
$pwd = $_POST['pwd'];
if($name == $id && $pwd == $pw){
$array= array(
'member'=>'true');
json_encode($array);
}else{
echo 'fail';
}
}
?> |