綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] android Activity 跳轉頁面問題

[複製連結] 查看: 1807|回覆: 3|好評: 0
跳轉到指定樓層
樓主
ph860625a | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-10-16 18:14

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 ph860625a 於 2012-10-17 17:25 編輯

現在有寫一個會員頁面,可以跟資料庫驗證帳密是否正確,可是現在想做驗證帳密正確後可以跳轉進去另一個頁面,如果驗證失敗則跳回原本頁面!  不知道該如何著手  請各位高手幫幫忙    謝謝
<?php

// 建立 MySQL 資料庫的連線
$link = mysql_connect('127.0.0.1', 'xxx', 'xxx');
// 設定在用戶端使用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);

        $REQUEST_METHOD = $_SERVER['REQUEST_METHOD'];
        echo $REQUEST_METHOD;
        if($REQUEST_METHOD == 'POST'){
                $name = $_POST['name'];
                $pwd = $_POST['pwd'];

                if($name == $id && $pwd == $pw){
                        echo '  Hello :'.$name;
                }else{
                        echo 'fail';

?>
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

android.rar

661.22 KB, 下載次數: 4, 下載積分: 碎鑽 -1 個

收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2012-10-17 09:45
一般來說在 PHP 的部份,我們會用 JSON 或 XML 格式輸出內容,方便 Java 去解析。

{status: true}
or
{status: false, message: '驗證失敗'}

XML 比較多就不寫了

在Android方面,就是用 HTTP Request 去存取你的驗証網址,並且用 JSON 或 XML 的方式去解析內容。

失敗就用 AlertDialog 顯示訊息,成功則用 startActivity 移到下一個頁面
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| ph860625a | 收聽TA | 只看該作者
發表於 2012-10-18 15:15
本帖最後由 ph860625a 於 2012-10-24 15:41 編輯


現在改成這樣還是無法判斷驗證跳轉登入,只會出現一個小視窗提示登入成功卻沒跳轉,現在是在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';
                }
        }
?>
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
ploglin | 收聽TA | 只看該作者
發表於 2012-10-24 09:07
我看不出來你的登入成功是在哪個流程顯示出來的。

在判斷 re_username 是否為 'true' 時,因為你是用字串型態,並不是布林型態,所以要用

if(re_username.equals("true")) {
    // someing to do...
}
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則