我使用了这个链接https://www.simplifiedcoding.net/android-mysql-tutorial-android-login-using-php-mysql/ 登录页面。但是当我输入注册用户名和密码时,我无法进入下一个活动。这是我的代码:
public static final String USER_NAME = "USER_NAME";
public static final String PASSWORD = "PASSWORD";
private static final String LOGIN_URL = "http://192.xxx.x.xx/VolleyUpload/login.php";
private EditText editTextUserName;
private EditText editTextPassword;
private Button buttonLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_login);
editTextUserName = (EditText) findViewById(R.id.username);
editTextPassword = (EditText) findViewById(R.id.password);
buttonLogin = (Button) findViewById(R.id.buttonUserLogin);
buttonLogin.setOnClickListener(this);
}
private void login(){
String username = editTextUserName.getText().toString().trim();
String password = editTextPassword.getText().toString().trim();
userLogin(username,password);
}
private void userLogin(final String username, final String password){
class UserLoginClass extends AsyncTask<String,Void,String>{
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(ActivityLogin.this,"Please Wait",null,true,true);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
if(s.equalsIgnoreCase("success")){
Intent intent = new Intent(ActivityLogin.this,UserProfile.class);
intent.putExtra(USER_NAME,username);
startActivity(intent);
}else{ Toast.makeText(ActivityLogin.this,s,Toast.LENGTH_LONG).show();
}
}
@Override
protected String doInBackground(String... params) {
HashMap<String,String> data = new HashMap<>();
data.put("username",params[0]);
data.put("password",params[1]);
RegisterUserClass ruc = new RegisterUserClass();
String result = ruc.sendPostRequest(LOGIN_URL,data);
return result;
}
}
UserLoginClass ulc = new UserLoginClass();
ulc.execute(username,password);
}
@Override
public void onClick(View v) {
if(v == buttonLogin){
login();
}
}
这是我的PHP代码:
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$username = $_POST['username'];
$password = $_POST['password'];
require_once('dbConnect.php');
$sql = "select * from users where username='$username' and password='$password'";
$check = mysqli_fetch_array(mysqli_query($con,$sql));
if(isset($check)){
echo "success";
}else{
echo "Invalid Username or Password";
}
}else{
echo "error try again";
}
?>
谁能告诉我哪里做错了?在方法onPostExecute(String s)中,我没有收到“成功”消息。我想如果我得到了,我就可以进入下一个活动。