2013-04-28 210 views
1

我剛剛試圖獲得一個簡單的登錄腳本工作,我的PHP是過時的蹩腳,但我有一個iOS版本的這個相同的應用程序,工作正常登錄,我知道nothings與我的PHP腳本錯誤,我需要他們保持不變,或者我想我可以創建一個新的名爲android_login.php但讓我工作與我現在得到。java.net.unknownhostexception無法解析主機

我的錯誤很常見,但我嘗試了所有的常見修復,包括重新創建VDM設備,甚至現在使用我的物理電話進行測試。我的手機輸出java.net.unknownhostexception unable to resolve host到我et_un文本編輯我的繼承人代碼

我包括以下到AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

我的繼承人LoginActivity.java 修訂

package com.example.atmebeta; 


import com.loopj.android.http.AsyncHttpClient; 
import com.loopj.android.http.AsyncHttpResponseHandler; 
import com.loopj.android.http.RequestParams; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class LoginActivity extends Activity { 
    EditText un,pw; 
    TextView error; 
    Button ok; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.login); 
     un=(EditText)findViewById(R.id.et_un); 
     pw=(EditText)findViewById(R.id.et_pw); 
     ok=(Button)findViewById(R.id.btn_login); 
     error=(TextView)findViewById(R.id.tv_error); 

     ok.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       AsyncHttpClient client = new AsyncHttpClient(); 
       RequestParams parameters = new RequestParams(); 
       parameters.put("email", un.getText().toString()); 
       parameters.put("password", pw.getText().toString()); 
       client.get("http://www.thatonewebsite.com/login.php", parameters, new AsyncHttpResponseHandler() { 
        public final void onSuccess(String response) { 
         error.setText("Correct Username or Password"); 
        } 

        public void onFailure(Throwable e, String response) { 
         error.setText("Sorry!! Incorrect Username or Password"); 
        } 
       }); 

      } 
     }); 
    } 
} 

登錄。 xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#DDDDDD" 
    tools:context=".LoginActivity"> 

    <TextView 
     android:id="@+id/tv_un" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="62dp" 
     android:text="User Name:" 
     android:textColor="#444444" 
     android:textSize="10pt" /> 

    <EditText 
     android:id="@+id/et_un" 
     android:layout_width="150dip" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/et_pw" 
     android:layout_below="@+id/tv_un" 
     android:background="@android:drawable/editbox_background" 
     android:ems="10" /> 

    <EditText 
     android:id="@+id/et_pw" 
     android:layout_width="150dip" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/tv_pw" 
     android:layout_centerHorizontal="true" 
     android:background="@android:drawable/editbox_background" 
     android:ems="10" 
     android:password="true" /> 

    <TextView 
     android:id="@+id/tv_pw" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/et_un" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="14dp" 
     android:text="Password:" 
     android:textColor="#444444" 
     android:textSize="10pt" /> 

    <Button 
     android:id="@+id/btn_login" 
     android:layout_width="100dip" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="Login" /> 

    <TextView 
     android:id="@+id/tv_error" 
     android:layout_width="fill_parent" 
     android:layout_height="40dip" 
     android:layout_below="@+id/btn_login" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="40dp" 
     android:textColor="#AA0000" 
     android:textSize="7pt" /> 

</RelativeLayout> 

,如果它需要的login.php

<?php 

if (isset($_GET["email"]) && isset($_GET["password"])){ 
       $email = $_GET["email"]; 
       $password = $_GET["password"]; 
       $result = login($email, $password); 
       echo $result; 
       } 

function makeSqlConnection() 
{ 
$DB_Host = "localhost"; 
$DB_Name = "bdname"; 
$DB_User = "dbuser"; 
$DB_Pass = "dbpass"; 

    $con = mysql_connect($DB_Host,$DB_User,$DB_Pass) or die(mysql_error()); 

     mysql_select_db($DB_Name,$con) or die(mysql_error()); 

    return $con; 
} 

function disconnectSqlConnection($con) 
{ 
    mysql_close($con); 
} 

function login($eMail, $password) 
{ 
    //require (FILE); 
    $con = makeSqlConnection(); 

    $sql = "SELECT * FROM user WHERE email = '$eMail' AND password = '$password'"; 
    $res = mysql_query($sql,$con) or die(mysql_error()); 
    $fetch = mysql_fetch_array($res); 
    $res1 = mysql_num_rows($res); 

    disconnectSqlConnection($con); 

    if ($res1 != 0) { 
     return $fetch['email']; 
    }else{ 
     return 0; 
    }// end else 


} 

?> 

回答

1

這似乎激進,但拋開你CustomHttpClient.java並開始使用庫如Android Asynchronous Http Client。如果您在切換到爲您處理所有這些內容的庫後仍然遇到問題,我將感到非常驚訝。例如:

AsyncHttpClient client = new AsyncHttpClient(); 
RequestParams rp = new RequestParams(); 
rp.put("email", un.getText().toString()); 
rp.put("password", pw.getText().toString()); 
client.post("http://www.mywebsite.com/thatoneloginscript.php", rp, new AsyncHttpResponseHandler() { 
    @Override 
    public final void onSuccess(String response) { 
     // handle your response here 
    } 

    @Override 
    public void onFailure(Throwable e, String response) { 
     // something went wrong 
    }    
}); 
+0

感謝您的建議我會試一試 – 2013-04-28 23:24:18

+0

我試着去尋找無JSON – 2013-04-29 01:33:23

+1

Android的異步HTTP客戶端的解決方案可以使用JSON,如果你想,但你不必。我會用一個簡單的例子進行更新。 – britzl 2013-04-29 05:51:40

相關問題