0

私は非常にシンプルなアプリを持っています。xamppを使って設定しました。ユーザーをローカルホストにログインさせようとしても、何も起こりません。エラーもlogcatも何もありません...非常に奇妙です。私は XAMPP をテストしました。PHP ページをブラウザーにロードし、実行します。XAMPP は間違いなく私のローカルホストとして機能しています。java実際の URL でクラスをテストしましたが、動作します。コードは次のとおりです。

connect.php

<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'test';
$conn_error = 'Not Connected!';

if (!mysql_connect($host, $user, $pass) || !mysql_select_db($db)) {
    die ($conn_error);
} 
?>

test.php

<?php
require_once 'connect.php';

$username = $_POST['username'];
$password = $_POST['password']; 
$query_search = "SELECT * FROM members WHERE username = '".$username."' AND password = '".$password. "'"; 
$query_exec = mysql_query($query_search) or die(mysql_error());
$rows = mysql_num_rows($query_exec);

if($rows == 1) {
     echo "1"; 
} else {
    echo "Username/Password is invalid"; 
}
?>

login.java

class LogMeIn extends AsyncTask<String, Void, String> {
    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost("http://localhost/test.php");

    protected String doInBackground(String... urls) {

        try {
            username = un.getText().toString();
            password = pw.getText().toString();
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
                    2);
            nameValuePairs
                    .add(new BasicNameValuePair("username", username));
            nameValuePairs
                    .add(new BasicNameValuePair("password", password));
            post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            HttpResponse response = client.execute(post);
            String res = inputStream(response.getEntity().getContent())
                    .toString();
            Log.v("RESPONSE", res);

            // if username and password are valid, launch main activity
            if (res.toString() == "1") {
                Intent logIn = new Intent(getApplicationContext(),
                        Main.class);
                startActivity(logIn);
            }

投稿用の私のURLだと思います。localhost/test.php. ただし、次のことを試しました

  • localhost/test.php
  • 10.0.0.2/test.php
  • 192.168.xx/test.php
  • 127.0.0.1/test.php

それらのどれも機能しません。おそらく非常に単純な解決策であり、ほぼ間違いなく重複した質問ですが、私は一生これを理解することはできません.

編集

ローカルホストをhttp://192.168.xx/test.phpに変更しましたが、最初は何もしませんでした...最後に、キャッチされた例外のように、logcat で警告が表示されました。それは言う

05-27 23:38:42.510: W/System.err(13310): org.apache.http.conn.HttpHostConnectException: Connection to http://192.68.x.x refused
05-27 23:38:42.510: W/System.err(13310):    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:183)
05-27 23:38:42.510: W/System.err(13310):    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
05-27 23:38:42.510: W/System.err(13310):    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
05-27 23:38:42.510: W/System.err(13310):    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
05-27 23:38:42.520: W/System.err(13310):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
05-27 23:38:42.520: W/System.err(13310):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
05-27 23:38:42.520: W/System.err(13310):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
05-27 23:38:42.520: W/System.err(13310):    at com.facilitysolutionsinc.trackflex.Log_In$LogMeIn.doInBackground(Log_In.java:83)
05-27 23:38:42.520: W/System.err(13310):    at com.facilitysolutionsinc.trackflex.Log_In$LogMeIn.doInBackground(Log_In.java:1)
05-27 23:38:42.520: W/System.err(13310):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
05-27 23:38:42.520: W/System.err(13310):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
05-27 23:38:42.520: W/System.err(13310):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
05-27 23:38:42.520: W/System.err(13310):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
05-27 23:38:42.520: W/System.err(13310):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
05-27 23:38:42.520: W/System.err(13310):    at java.lang.Thread.run(Thread.java:856)
05-27 23:38:42.520: W/System.err(13310): Caused by: java.net.ConnectException: failed to connect to /192.68.x.x (port 80): connect failed: ETIMEDOUT (Connection timed out)
05-27 23:38:42.530: W/System.err(13310):    at libcore.io.IoBridge.connect(IoBridge.java:114)
05-27 23:38:42.530: W/System.err(13310):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
05-27 23:38:42.530: W/System.err(13310):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
05-27 23:38:42.530: W/System.err(13310):    at java.net.Socket.connect(Socket.java:842)
05-27 23:38:42.530: W/System.err(13310):    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
05-27 23:38:42.530: W/System.err(13310):    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)
05-27 23:38:42.530: W/System.err(13310):    ... 14 more
05-27 23:38:42.530: W/System.err(13310): Caused by: libcore.io.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)
05-27 23:38:42.540: W/System.err(13310):    at libcore.io.Posix.connect(Native Method)
05-27 23:38:42.540: W/System.err(13310):    at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85)
05-27 23:38:42.540: W/System.err(13310):    at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
05-27 23:38:42.540: W/System.err(13310):    at libcore.io.IoBridge.connect(IoBridge.java:112)
05-27 23:38:42.540: W/System.err(13310):    ... 19 more
4

2 に答える 2