Я занимаюсь разработкой приложения для Android для WordPress сайта, который имеет логин и
регистрация.
Я использую библиотеку залпа, она очень хорошо подключается к серверу,
НО МОЯ ПРОБЛЕМА заключается в том, что когда я публикую параметры в api, он не может создать любого пользователя.
мой API работает очень хорошо в POSTMAN, и не было никаких проблем.
мой код API это:
Это DbOperations.php
public function registerUser($email, $username, $password)
{
if (username_exists($username) && email_exists($email)) {
$error = array();
$error['message'] = "username or email exists";
return $error;
}
else {
$user_id = wp_create_user($username, $password, $email);
if (!is_wp_error($user_id))
{
wp_set_password($password,$user_id);
}
else
{
$error = array();
$error['message'] = "can not create user";
return $error;
}
}
}
Это мой код register_user.php:
include ('DbOperations.php');
$dbOperate = new DbOperations();
$username = @($_POST['username']);
$password = @($_POST['password']);
$email=@($_POST['email']);
$regArray = array();
$regArray = $dbOperate->registerUser($email,$username,$password);
print_r(json_encode($regArray));
после этих кодов вот мои коды андроид студии:
это метод, который я написал внутри registerActivity, что когда пользователь нажимает кнопку регистрации, этот метод выполняется.
все входы установлены.
private void DoSignUp()
{
String url = "http://192.168.43.241/wp-includes/rest-api/register_user.php";
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(RegisterActivity.this, "Succeed" + response.toString(), Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(RegisterActivity.this, "Error" + error.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("username",RegUser);
params.put("password", RegPass);
params.put("email", RegEmail);
return params;
}
};
// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq);
}
Я много искал, но ничего не нашел,
Я снова говорю, что мой API работает очень хорошо внутри почтальона.
я использую реальное устройство для проверки своего приложения.
наконец, это то, что я получаю, когда нажимаю кнопку регистрации на Android:
succeed{"message","can not crate user"}
Спасибо за помощь