我正在嘗試訪問我的GetUserData.php文件以將存儲在數據庫中的用戶信息顯示在我的Android應用程序的配置文件頁面上。我有:意外的響應代碼500爲我的.php /?PHPSESSID = xxxxxxxxxxxxxxxxx
SharedPreferences sharedPreferences = getSharedPreferences(Config.sharedPref, Context.MODE_PRIVATE);
String sessionId = sharedPreferences.getString(Config.SID, "SessionID");
StringRequest stringRequest = new StringRequest(Request.Method.GET, Config.SERVER_ADDRESS + "GetUserData.php/?PHPSESSID=" + sessionId,
和我的會話ID是充分利用當用戶首次登錄存儲但是我得到的錯誤
BasicNetwork.performRequest:意外的響應碼500 http://............/GetUserData.php/?PHPSESSID=54609c62fec7fc28631d708da687ab55
這裏是方法的其餘部分:
private void getUserData() {
SharedPreferences sharedPreferences = getSharedPreferences(Config.sharedPref, Context.MODE_PRIVATE);
String sessionId = sharedPreferences.getString(Config.SID, "SessionID");
StringRequest stringRequest = new StringRequest(Request.Method.GET, Config.SERVER_ADDRESS + "GetUserData.php/?PHPSESSID=" + sessionId,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
JSONObject jsonObject = null;
try {
//json string to jsonobject
jsonObject = new JSONObject(response);
//get json sstring created in php and store to JSON Array
result = jsonObject.getJSONArray(Config.json_array);
//get username from json array
getUserInfo(result);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void getUserInfo(JSONArray jsonArray){
for(int i = 0; i < jsonArray.length(); i++) {
try {
JSONObject json = jsonArray.getJSONObject(i);
userInfo.add(json.getString(Config.getUsername));
} catch (JSONException e) {
}
}
getFname.setText(userInfo.indexOf(2));
}
我無法編輯php.ini文件。有沒有一種方法可以在登錄時啓用它?例如:'ini_set(「session.use_trans_sid」,true);'??? – cdub
你可以嘗試,不知道它是否會工作。如果您無法使用它,請嘗試在您的請求中發送Cookie標頭。像這樣: 'stringRequest.setHeader(「Cookie」,「PHPSESSID =」+ sessionId);' – AndreFeijo
在我的方法中,我會添加這個嗎?作爲StringRequest中的參數? – cdub