sách gpt4 ăn đã đi

php - android中的LoginActivity没有得到php json

In lại 作者:太空狗 更新时间:2023-10-29 13:49:47 26 4
mua khóa gpt4 giày nike

我正在制作一个应用程序,我的注册工作正常,只是我的登录不起作用 我的 php 脚本仅在登录时工作正常,它说 json 不匹配这是我的登录 Activity

只是在登录时出现错误,除此之外一切正常我检查了 php json 响应,它和我在 android 中给出的一样,但仍然无法正常工作,我不知道我哪里出错了

示例 json 响应

[{"code":"login_success","username":"smith","password":"55fd64d3d40f601a78f7917de5a10e6044a5e74d"}]

错误响应

[{"code":"login_failed","message":"User not found... Please try again"}]

请找到我的登录页面:

public void login(View view) {


mProgress.show();
username = editusername.getEditText().getText().toString();
password = editpasword.getEditText().getText().toString();
Prefs prefs = new Prefs(LoginActivity.this);
prefs.setName(username);

if(username.equals("") || password.equals("")){
displayAlert("Enter a valid username and password");
}
else{
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener() {
@Ghi đè
public void onResponse(String response) {
thử {
JSONArray jsonArray = new JSONArray(response); //on this line it is giving error
JSONObject jsonObject = jsonArray.getJSONObject(0);
String code = jsonObject.getString("code");
if(code.equals("login_failed")){
builder.setTitle("Login Error..");
displayAlert(jsonObject.getString("message"));
}
khác {
Intent intent = new Intent(LoginActivity.this,Work.class);
startActivity(intent);
}

} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Ghi đè
public void onErrorResponse(VolleyError error) {
displayAlert("Internet Connection problem");
}
}){
@Ghi đè
protected Map getParams() throws AuthFailureError {
Map params = new HashMap();
params.put("username",username);
params.put("password",password);
return params;
}
};
Singleton.getInstance(LoginActivity.this).addToREquestQueue(stringRequest);
}
}
public void displayAlert(String message){
builder.setMessage(message);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Ghi đè
public void onClick(DialogInterface dialog, int which) {
editpasword.getEditText().setText("");
editusername.getEditText().setText("");
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}

SharedPreference.java

public class Prefs {
Context context;
chuỗi tên riêng tư;

SharedPreferences sharedPreferences;
public void removeUser(){
sharedPreferences.edit().clear().commit();
}

công khai String getName() {
name = sharedPreferences.getString("userdata","");
trả về tên;
}

public void setName(String name) {
this.name = tên;
sharedPreferences.edit().putString("userdata",name).commit();
}

public Prefs(Context context){
this.context = ngữ cảnh;
sharedPreferences = context.getSharedPreferences("userinfo",Context.MODE_PRIVATE);
}
}

请查看我的 Logcat 详细信息:-

at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99) 04-03 11:12:47.588 14388-14388/kashyapinfotech.com.officework W/System.err: at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5312) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696) 04-03 11:12:48.097 14388-14388/kashyapinfotech.com.officework W/System.err: org.json.JSONException: Value (JSONArray.java:96) at org.json.JSONArray.(JSONArray.java:108) at kashyapinfotech.com.officework.LoginActivity$1.onResponse(LoginActivity.java:68) at kashyapinfotech.com.officework.LoginActivity$1.onResponse(LoginActivity.java:64) at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60) 04-03 11:12:48.098 14388-14388/kashyapinfotech.com.officework W/System.err: at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30) at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5312) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)

我检查了 php 它工作正常所以这是 php 脚本

            include("conn.php");
if(isset($_POST['btn_login'])){
$username = $_POST['username'];
$password = $_POST['password'];
$password = sha1($password);
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($conn,$sql);
$response = array();
if(mysqli_num_rows($result)>0){
$row = mysqli_fetch_row($result);
$username = $row[1];
$password = $row[3];
$code = "login_success";
array_push($response,array("code"=>$code,"username"=>$username,"password"=>$password));
echo json_encode($response);
}
else{
$code = "login_failed";
$message = "User not found... Please try again";
array_push($response, array("code"=>$code,"message"=>$message));
echo json_encode($response);
}
mysqli_close($conn);

}
?>


<đầu>










câu trả lời hay nhất

您正在检查您的 php 代码 中的 key btn_login,您不是从您的 android 端 发布的,例如它应该是

 params.put("username",username);
params.put("password",password);
params.put("btn_login","some data");

或者如果您不需要btn_login,请将其从 php 代码中删除

关于php - android中的LoginActivity没有得到php json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49623162/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress