Android Studio登录页面,使用php连接到localhost如果用户名和密码正确,如何启动其他activitie java
我在Android Studio中创建了一个新项目。没有登录页面。使用php文件检查用户名和密码是否正确Android Studio登录页面,使用php连接到localhost如果用户名和密码正确,如何启动其他activitie java,java,php,android,login,wamp,Java,Php,Android,Login,Wamp,我在Android Studio中创建了一个新项目。没有登录页面。使用php文件检查用户名和密码是否正确 <?php require "conn.php"; $user_name = $_POST["user_name"]; $user_pass = $_POST["password"]; $mysql_qry = "select * from employee_data where username like '$user_name'and password like '$user_pa
<?php
require "conn.php";
$user_name = $_POST["user_name"];
$user_pass = $_POST["password"];
$mysql_qry = "select * from employee_data where username like '$user_name'and password like '$user_pass'";
$result = mysqli_query($conn ,$mysql_qry);
if(mysqli_num_rows($result) > 0) {
echo"login success";
}else {
echo "login not success";
}
?>
我的java(BackGroundWorker)代码如下
public class BackGroundWorker extends AsyncTask<String,Void,String> {
Context context;
AlertDialog alertDialog;
BackGroundWorker (Context ctx) {
context = ctx;
}
@Override
protected String doInBackground(String... params) {
String type = params[0];
String login_url = "http://192.168.1.79/login.php";
if(type.equals("login")) {
try {
String user_name = params[1];
String password = params[2];
URL url = new URL(login_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
String post_data = URLEncoder.encode("user_name", "UTF-8") + "=" + URLEncoder.encode(user_name, "UTF-8") + "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8");
String user = URLEncoder.encode(user_name, "UTF-8");//guarda o nome de utilizador introduzido
String pass = URLEncoder.encode(password, "UTF-8");//guarda a pass introduzido
System.err.println("------------------------------------------");
/*/ if(user.equals("Nome de Utilizador")){
if(pass.equals("Password")) {
System.err.println("Entrou no if");
startActivity(new Intent(this, Pagina1.class));}
/*/
bufferedWriter.write(post_data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
String result="";
String line="";
while((line = bufferedReader.readLine())!= null) {
result +=line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
公共类BackGroundWorker扩展异步任务{
语境;
警报对话框警报对话框;
BackGroundWorker(上下文ctx){
上下文=ctx;
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
字符串类型=参数[0];
字符串登录\u url=”http://192.168.1.79/login.php";
if(type.equals(“登录”)){
试一试{
字符串user_name=params[1];
字符串密码=参数[2];
URL=新URL(登录\ URL);
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream OutputStream=httpURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(outputStream,UTF-8));
字符串post_data=URLEncoder.encode(“用户名”、“UTF-8”)+“=”+URLEncoder.encode(用户名,“UTF-8”)+“&+URLEncoder.encode(“密码”、“UTF-8”)+“=”+URLEncoder.encode(密码,“UTF-8”);
字符串user=URLEncoder.encode(用户名,“UTF-8”);//guarda o nome de utilizador introzido
字符串pass=URLEncoder.encode(密码,“UTF-8”);//guarda a pass introxido
System.err.println(“------------------------------------------------”);
/*/if(用户相等(“使用名称”)){
if(pass.equals(“密码”)){
系统错误println(“Entrou no if”);
startActivity(新意图(this,Pagina1.class));}
/*/
bufferedWriter.write(post_数据);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”);
字符串结果=”;
字符串行=”;
而((line=bufferedReader.readLine())!=null){
结果+=行;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
返回结果;
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
问题:如果我的用户名和密码与我的数据库(localhost)正确,我想在php显示消息(登录成功)后在Android Studio中启动新的活动。
如果用户名和/或密码错误
显示来自php的消息(登录未成功)。
对我来说,更具体地说,应用程序停留在php的“登录成功”消息中,我希望它在此之后在我的Android中启动新的activitie java。在Login.php文件中,检查数据库中是否存在请求的用户名、密码或电子邮件(定义您的标准)。如果存在,则回显一些文本,如“成功”或“失败”。 最后,在asyctask中重写onPostExecute(字符串结果)方法,以检查响应是否等于“成功”
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if(result.equals('success')){
startActivity(new Intent(LoginActivity.this, MainActivity.class));
finish();
}
}
您最好在php脚本中打印一个整数值,如果登录成功与否,您可以在android应用程序中更好地计算整数值。@CharlotteDunois Show me代码。
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if(result.equals('success')){
startActivity(new Intent(LoginActivity.this, MainActivity.class));
finish();
}
}