Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android socketfailed:eaccess(权限被拒绝)_Android_Mysql_Permissions_Socketexception - Fatal编程技术网

Android socketfailed:eaccess(权限被拒绝)

Android socketfailed:eaccess(权限被拒绝),android,mysql,permissions,socketexception,Android,Mysql,Permissions,Socketexception,我正在使用java和PHP尝试与PHP MySQL(xampp)建立连接。正在尝试从注册表中保存到数据库中。但是继续获取此套接字失败:单击“注册”按钮时出现访问错误。正在搜索其他线程。还是不行。我正在将我的应用程序调试到我的联想API 22,而不是通过虚拟设备。我错过了什么?是IP吗?我也试着改变我的手机IP,但还是不行。请帮忙 这是我的登录类 public class LoginActivity extends AppCompatActivity { EditText username, p

我正在使用java和PHP尝试与PHP MySQL(xampp)建立连接。正在尝试从注册表中保存到数据库中。但是继续获取此套接字失败:单击“注册”按钮时出现访问错误。正在搜索其他线程。还是不行。我正在将我的应用程序调试到我的联想API 22,而不是通过虚拟设备。我错过了什么?是IP吗?我也试着改变我的手机IP,但还是不行。请帮忙

这是我的登录类

public class LoginActivity extends AppCompatActivity {

EditText username, password;
String Username, Password;
Context ctx = this;
String NAME = null, ADDRESS= null, MOBILE_NUMBER = null,USERNAME = null, PASSWORD = null, EMAIL = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    username = (EditText) findViewById(R.id.login_username);
    //mEmailView.setPaintFlags(mEmailView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
    password = (EditText) findViewById(R.id.login_password);
    //mPasswordView.setPaintFlags(mPasswordView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG)


}

 public void login_register(View v) {
    startActivity(new Intent(LoginActivity.this, RegisterActivity.class));
}

public void login_signin(View v) {
    Username = username.getText().toString();
    Password = password.getText().toString();
    BackGround b = new BackGround();
    b.execute(Username, Password);
}

class BackGround extends AsyncTask<String, String, String> {
    /**Button btn_register = (Button) findViewById(R.id.btn_register);
     btn_register.setOnClickListener(new OnClickListener() {
    @Override public void onClick(View v) {
    Intent i = new Intent(LoginActivity.this,RegisterActivity.class);
    startActivity(i);
    }
    }); */

    /** Button btn_signin = (Button) findViewById(R.id.btn_signin);
     btn_signin.setOnClickListener(new OnClickListener() {
    @Override public void onClick(View view) {
    Intent i = new Intent(LoginActivity.this,MenuActivity.class);
    startActivity(i);
    //buttonnya dsni tapi aksinya dibawah
    /** attemptLogin();
    }
    }); */

@Override
protected String doInBackground(String... params) {
    String username = params[0];
    String password = params[1];
    String data = "";
    int tmp;

    try {
        URL url = new URL("http://10.0.2.2/MYCODE/konserfutsal/login.php");
        String urlParams = "username="+username+"&password="+password;

        HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
        httpURLConnection.setDoOutput(true);
        OutputStream os = httpURLConnection.getOutputStream();
        os.write(urlParams.getBytes());
        os.flush();
        os.close();

        InputStream is = httpURLConnection.getInputStream();
        while ((tmp = is.read()) != -1) {
            data += (char) tmp;
        }

        is.close();
        httpURLConnection.disconnect();

        return data;
    } catch (MalformedURLException e) {
        e.printStackTrace();
        return "Exception: " + e.getMessage();
    } catch (IOException e) {
        e.printStackTrace();
        return "Exception: " + e.getMessage();
    }
}
    @Override
    protected void onPostExecute (String s){
        String err = null;
        try {
            JSONObject root = new JSONObject(s);
            JSONObject user_data = root.getJSONObject("user_data");
            NAME = user_data.getString("name");
            EMAIL = user_data.getString("email");
            ADDRESS = user_data.getString("address");
            MOBILE_NUMBER = user_data.getString("mobile_number");
            USERNAME = user_data.getString("username");
            PASSWORD = user_data.getString("password");

        } catch (JSONException e) {
            e.printStackTrace();
            err = "Exception: " + e.getMessage();
        }

        Intent i = new Intent(ctx, MenuActivity.class);
        i.putExtra("name", NAME);
        i.putExtra("email", EMAIL);
        i.putExtra("address", ADDRESS);
        i.putExtra("mobile_number", MOBILE_NUMBER);
        i.putExtra("username", USERNAME);
        i.putExtra("password", PASSWORD);
        i.putExtra("err", err);
        startActivity(i);

    }
}
}
公共类LoginActivity扩展了AppCompatActivity{
编辑文本用户名、密码;
字符串用户名、密码;
上下文ctx=此;
字符串名称=null,地址=null,手机号码=null,用户名=null,密码=null,电子邮件=null;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u登录);
用户名=(EditText)findViewById(R.id.login\u用户名);
//mEmailView.setPaintFlags(mEmailView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);
密码=(EditText)findViewById(R.id.login\u密码);
//mPasswordView.setPaintFlags(mPasswordView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG)
}
公共无效登录注册(视图五){
startActivity(新意图(LoginActivity.this、RegisterActivity.class));
}
公共无效登录(视图v){
Username=Username.getText().toString();
Password=Password.getText().toString();
背景b=新背景();
b、 执行(用户名、密码);
}
类后台扩展异步任务{
/**按钮btn_寄存器=(按钮)findViewById(R.id.btn_寄存器);
btn_register.setOnClickListener(新的OnClickListener(){
@覆盖公共void onClick(视图v){
意图i=新意图(LoginActivity.this,RegisterActivity.class);
星触觉(i);
}
}); */
/**按钮btn\u sign=(按钮)findViewById(R.id.btn\u sign);
btn_sign.setOnClickListener(新的OnClickListener(){
@覆盖公共void onClick(视图){
意图i=新意图(LoginActivity.this,menuaActivity.class);
星触觉(i);
//但这一点很重要
/**尝试登录();
}
}); */
@凌驾
受保护的字符串doInBackground(字符串…参数){
字符串username=params[0];
字符串密码=参数[1];
字符串数据=”;
int tmp;
试一试{
URL=新URL(“http://10.0.2.2/MYCODE/konserfutsal/login.php");
字符串urlParams=“username=“+username+”&password=“+password;
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setDoOutput(true);
OutputStream os=httpURLConnection.getOutputStream();
write(urlParams.getBytes());
os.flush();
os.close();
InputStream=httpURLConnection.getInputStream();
而((tmp=is.read())!=-1){
数据+=(字符)tmp;
}
is.close();
httpURLConnection.disconnect();
返回数据;
}捕获(格式错误){
e、 printStackTrace();
return“Exception:+e.getMessage();
}捕获(IOE异常){
e、 printStackTrace();
return“Exception:+e.getMessage();
}
}
@凌驾
受保护的void onPostExecute(字符串s){
字符串err=null;
试一试{
JSONObject根=新的JSONObject;
JSONObject user_data=root.getJSONObject(“用户_数据”);
NAME=user_data.getString(“NAME”);
EMAIL=user_data.getString(“电子邮件”);
ADDRESS=user_data.getString(“地址”);
MOBILE_NUMBER=user_data.getString(“MOBILE_NUMBER”);
USERNAME=user_data.getString(“用户名”);
PASSWORD=user_data.getString(“密码”);
}捕获(JSONException e){
e、 printStackTrace();
err=“异常:”+e.getMessage();
}
意向i=新意向(ctx,MenuActivity.class);
i、 putExtra(“名称”,名称);
i、 putExtra(“电子邮件”,email);
i、 putExtra(“地址”,地址);
i、 putExtra(“手机号码”,手机号码);
i、 putExtra(“用户名”,用户名);
i、 putExtra(“密码”,password);
i、 putExtra(“err”,err);
星触觉(i);
}
}
}
这是我的注册课

public class RegisterActivity extends AppCompatActivity {
EditText name, password, username, email, mobile_number, address;
String Name, Password, Username, Email, Mobile_number, Address;
Button btn_back;
Context ctx=this;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);
    name = (EditText) findViewById(R.id.register_name);
    email = (EditText) findViewById(R.id.register_email);
    address = (EditText) findViewById(R.id.register_address);
    mobile_number = (EditText) findViewById(R.id.register_mobile_number);
    username = (EditText) findViewById(R.id.register_username);
    password = (EditText) findViewById(R.id.register_pass);

    btn_back = (Button) findViewById(R.id.register_btn_back);
    btn_back.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
        }
    });
    }

public void register_register (View V){
        Name = name.getText().toString();
        Email = email.getText().toString();
        Address = address.getText().toString();
        Mobile_number = mobile_number.getText().toString();
        Username = username.getText().toString();
        Password = password.getText().toString();
        Background b = new Background();
        b.execute(Name, Email, Address, Mobile_number, Username, Password);
    }
 class Background extends AsyncTask<String, String, String> {
        @Override
        protected String doInBackground(String... params) {
            String name = params[0];
            String email = params[1];
            String address = params[2];
            String mobile_number = params[3];
            String username = params[4];
            String password = params[5];
            String data="";
            int tmp;

            try {
                URL url = new URL("http://10.0.2.2/MYCODE/konserfutsal/register.php");
                String urlParams = "name="+name+"&email="+email+"&address="+address+"&mobile_number="+mobile_number+"&username="+username+"&password="+password;

                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                httpURLConnection.setDoOutput(true);
                OutputStream os = httpURLConnection.getOutputStream();
                os.write(urlParams.getBytes());
                os.flush();
                os.close();
                InputStream is = httpURLConnection.getInputStream();
                while((tmp=is.read())!=-1){
                    data+= (char)tmp;
                }
                is.close();
                httpURLConnection.disconnect();

                return data;

            } catch (MalformedURLException e) {
                e.printStackTrace();
                return "Exception: "+e.getMessage();
            } catch (IOException e) {
                e.printStackTrace();
                return "Exception: "+e.getMessage();
            }
        }

    @Override
    protected void onPostExecute(String s) {
        if(s.equals("")){
            s="Data saved successfully.";
        }
        Toast.makeText(ctx, s, Toast.LENGTH_LONG).show();
    }


}
}
公共类注册表活动扩展了AppCompatActivity{
编辑文本名称、密码、用户名、电子邮件、手机号码、地址;
字符串名称、密码、用户名、电子邮件、手机号码、地址;
按钮btn_后退;
上下文ctx=此;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u寄存器);
name=(EditText)findViewById(R.id.register\u name);
email=(EditText)findViewById(R.id.register\u email);
地址=(EditText)findViewById(R.id.register\u地址);
手机号码=(EditText)findViewById(R.id.register\u手机号码);
用户名=(EditText)findViewById(R.id.register\u用户名);
密码=(EditText)findViewById(R.id.register\u pass);
btn\u back=(按钮)findviewbyd(R.id.register\u btn\u back);
btn_back.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
完成();
}
});
}
公共无效登记簿\登记簿(视图五){
Name=Name.getText().toString();
Email=Email.getText().toString();
Address=Address.getText().toString();
Mobile_number=Mobile_number.getText().toString();
Username=Username.getText().toString();
Password=Password.getText().toString();
背景b=新背景();
b、 执行(姓名、电子邮件、地址、手机号码、用户名、密码);
}
类后台扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…参数){
字符串名称=参数[0];
字符串email=params[1];
字符串地址=
<uses_permission android:name="android.permission.INETERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<?php

 error_reporting(0);
 $db_name = "konserfutsal";
 $mysql_user = "root";
 $mysql_pass = "";
 $server_name = "localhost";

 $con = mysqli_connect($server_name, $mysql_user, $mysql_pass, $db_name);

 if(!$con){
 echo '{"message":"Unable to connect to the database."}';
 }

?>


error_reporting(0);

$db_name = "konserfutsal";
$mysql_user = "root";
$mysql_pass = "";
$server_name = "localhost";

$con = mysqli_connect($server_name, $mysql_user, $mysql_pass, $db_name);

if(!$con){
    echo '{"message":"Unable to connect to the database."}';
}

?>
<?php
 error_reporting(0);
 require "init.php";

 $username = $_POST["username"];
 $password = $_POST["password"];

//$name = "sdf";
//$password = "sdf";

 $sql = "SELECT * FROM `user_info` WHERE `username`='".$username."' AND  `password`='".$password."';";

 $result = mysqli_query($con, $sql);

 $response = array();

 while($row = mysqli_fetch_array($result))
{
     $response =  array("id"=>$row[0],"name"=>$row[1],"email"=>$row[2],"address"=>$row[3],"mobile_number"=>$row[4],"username"=>$row[5],"password"=>$row[6]);
}

 echo json_encode(array("user_data"=>$response));

?>
<?php
 error_reporting(0);
 require "init.php";

 $name = $_POST["name"];
 $email = $_POST["email"];
 $address = $_POST["address"];
 $mobile_number = $_POST["mobile_number"];
 $username = $_POST["username"];
 $password = $_POST["password"];

 //$name = "sdf";
 //$password = "sdf";
 //$email = "sdf@r54";

 $sql = "INSERT INTO `user_info` (`id`,`name`,`email`,`address`,`mobile_number`,`username`,`password`) VALUES (NULL, '".$name."', '".$email."', '".$address."', '".$mobile_number."', '".$username."', '".$password."');";
 if(!mysqli_query($con, $sql)){
     echo '{"message":"Unable to save the data to the database."}';
}

?>