PHP скрипт не получает правильное значение в Android - PullRequest
0 голосов
/ 29 апреля 2018

Я создаю приложение для Android, используя webview и php. я написал PHP, чтобы получить значение пользователя, вошедшего в систему (0, если никто не вошел в систему), если пользователи вошли в систему (через приложение конечно), мне нужно изменить значки меню параметров, и если ни один пользователь не вошел в систему значки будут разные. Однако php-скрипт не получает правильное значение в Android, но работает нормально, когда я открываю его с компьютера и проверяю, входя в систему и выходя с нее

вот код для меню опций, которое вызывает функцию isloggedin ()

register=omenu.findItem(R.id.registeraccount);
    login=omenu.findItem(R.id.loginitem);

    String checklogin= isloggedin();
    Toast.makeText(this, checklogin, Toast.LENGTH_SHORT).show();
    if(!checklogin.equalsIgnoreCase("0"))
    {
        register.setIcon(R.drawable.account);
        register.setTitle("Account");
        login.setIcon(R.drawable.logout);
        login.setTitle("Logout");
    }
    else{
        register.setIcon(R.drawable.register);
        register.setTitle("Register");
        login.setIcon(R.drawable.login);
        login.setTitle("Login");

    }

функция isloggedin ()

 public String isloggedin()
{


    try {
        HttpClient httpclient = new DefaultHttpClient();

        HttpPost httpPost = new HttpPost("url/checklogin.php");

        ResponseHandler<String> responseHandler = new BasicResponseHandler();

       final String response = httpclient.execute(httpPost, responseHandler);
        return  response;

    }catch (Exception e)
    {
        return "";

    }

}

и затем я также вызвал invalidateoptionsmenu () в методе onpagefinished () webviewclient, чтобы можно было воссоздать optionsmenu и обновить иконки при необходимости

loadsite.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // TODO Auto-generated method stub
                view.loadUrl(url);
                progressBar.setVisibility(View.VISIBLE);

                return true;
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                // TODO Auto-generated method stub
                super.onPageFinished(view, url);
                progressBar.setVisibility(View.GONE);
                invalidateOptionsMenu();


            }
        });
        ;
        loadsite.loadUrl("url");

скрипт php, выполняемый с помощью функции isloggedin (), всегда возвращает 0 независимо от того, вошел пользователь в систему или нет. однако, когда я вхожу с ноутбука, скрипт возвращает 1 или любое другое значение, отличное от 0, чтобы указать, какой пользователь вошел в систему

скрипт php

global $current_user;
$current_user = wp_get_current_user();
$id=$current_user->ID
echo $id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...