android — параметры записи запроса строки залпа всегда равны нулю в php.

Я отправляю строковый запрос POST с некоторыми параметрами, но в скрипте PHP я всегда получаю значение параметра как ноль. Когда я тестирую PHP с почтальоном, он работает нормально.

это мой код запроса залпа:

public void login(final String mPhone, final String mEmail, final String mPassword) {


StringRequest stringRequest = new StringRequest(Request.Method.POST, URLs.LOGIN, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.getBoolean("error")) {
String error = jsonObject.getString("message");
if (error.equals("new user")) {
registerUser();
} else {
showProgress(false);
Snackbar.make(mOtpView, error, Snackbar.LENGTH_SHORT).show();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
showProgress(false);
Snackbar.make(mOtpView, error.getMessage(), Snackbar.LENGTH_SHORT).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("phone", mPhone);
params.put("email", mEmail);
params.put("password", mPassword);

return params;
}
};
//Method to limit retry policy of request
stringRequest.setRetryPolicy(
new DefaultRetryPolicy(
DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 2,
3,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT
)
);
try {

//Adding request to request queue
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
} catch (Exception e) {
e.printStackTrace();
}
}

и это мой PHP:

require_once 'DbConfig.php';

$response = array();

if (isset($_GET['apicall'])) {
switch ($_GET['apicall']) {
case 'login':

$phone = $_POST['phone'];
$email = $_POST['email'];
$pass = $_POST['password'];

echo $phone.$email.$pass;exit();

Я попытался добавить заголовок путем переопределения getHeaders (), а также попытался переопределить getBodyContent (), но, похоже, ничего не работает, а также приведенный выше код работает нормально, когда я использую его в localhost. Я проверил URL-адрес в порядке, потому что скрипт PHP в порядке, так как я проверил его, повторяя другие вещи, которые он выполнял нормально.

0

Решение

РЕШИТЬ !!! Не могу думать об этом когда-либо !! на самом деле я использовал URL, как: — http://www.example.com но когда я попробовал http://example.com .. это работает как очарование … спасибо всем за помощь, хотя!

1

Другие решения

Обычно эта проблема может быть из Content-Type добавить к нему charset = utf-8:

 params.put("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");

Кредит: Волей-POST-EMPTY

0

Вы только отправляете;

params.put("phone", mPhone);
params.put("email", mEmail);
params.put("password", mPassword);

Как насчет;
params.put("apicall","YOu_API");

Похоже apicall не isset, поэтому значения будут нулевыми.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector