Php 如何为我的应用程序用户添加点数并将其连接到android?

Php 如何为我的应用程序用户添加点数并将其连接到android?,php,android,mysql,Php,Android,Mysql,我已经开始了一个项目的工作,但是我在这里遇到了麻烦,我需要为我已经存储在数据库中的每个用户添加点。我已经创建了一个数据库,我在其中存储用户的用户名和密码,并将其连接到android。一切都正常,但现在在我的例子中,我想在用户解决问题时为他们存储点,例如在我的应用程序中,但我不知道如何为此编写方法,需要php的一些帮助 这些是我的php文件:Register.php 还有一个:FetchUserData.php 那么,我现在如何在这里为每个用户包括点呢 这是我用于将android连接到ph

我已经开始了一个项目的工作,但是我在这里遇到了麻烦,我需要为我已经存储在数据库中的每个用户添加点。我已经创建了一个数据库,我在其中存储用户的用户名和密码,并将其连接到android。一切都正常,但现在在我的例子中,我想在用户解决问题时为他们存储点,例如在我的应用程序中,但我不知道如何为此编写方法,需要php的一些帮助

这些是我的php文件:Register.php


还有一个:FetchUserData.php


那么,我现在如何在这里为每个用户包括点呢

这是我用于将android连接到php和mysql的java文件:

    public class ServerRequests {

    ProgressDialog progressDialog;
    public static final int CONNECTION_TIMEOUT = 1000 * 15;
    public static final String SERVER_ADRESS = "http://192.168.0.17:8081/project/";

    public ServerRequests(Context context){
        progressDialog = new ProgressDialog(context);
        progressDialog.setCancelable(false);
        progressDialog.setTitle(R.string.progress_dialog);
        progressDialog.setMessage("Please wait...");
    }

    public void storeUserDataInBackground(User user, GetUserCallback userCallback){
        progressDialog.show();
        new StoreUserDataAsyncTask(user, userCallback).execute();
    }

    public void fetchUserDatainBackground(User user, GetUserCallback callBack){
        progressDialog.show();
        new fetchUserDataAsyncTask(user, callBack).execute();
    }

    public class StoreUserDataAsyncTask extends AsyncTask<Void, Void, Void>{
        User user;
        GetUserCallback userCallback;

        public StoreUserDataAsyncTask(User user, GetUserCallback userCallback){
            this.user = user;
            this.userCallback = userCallback;
        }

        @Override
        protected Void doInBackground(Void... params) {
            ArrayList<NameValuePair> dataToSend = new ArrayList<>();
            dataToSend.add(new BasicNameValuePair("username", user.username));
            dataToSend.add(new BasicNameValuePair("password", user.password));

            HttpParams httpRequestParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
            HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);

            HttpClient client = new DefaultHttpClient(httpRequestParams);
            HttpPost post = new HttpPost(SERVER_ADRESS + "Register.php");

            try {
                post.setEntity(new UrlEncodedFormEntity(dataToSend));
                client.execute(post);
            }catch (Exception e){
                e.printStackTrace();
            }


            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            progressDialog.dismiss();
            userCallback.done(null);
            super.onPostExecute(aVoid);
        }
    }

    public class fetchUserDataAsyncTask extends AsyncTask<Void, Void, User> {
        User user;
        GetUserCallback userCallback;

        public fetchUserDataAsyncTask(User user, GetUserCallback userCallback) {
            this.user = user;
            this.userCallback = userCallback;
        }

        @Override
        protected User doInBackground(Void... params) {
            ArrayList<NameValuePair> dataToSend = new ArrayList<>();
            dataToSend.add(new BasicNameValuePair("username", user.username));
            dataToSend.add(new BasicNameValuePair("password", user.password));

            HttpParams httpRequestParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
            HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);

            HttpClient client = new DefaultHttpClient(httpRequestParams);
            HttpPost post = new HttpPost(SERVER_ADRESS + "FetchUserData.php");

            User returnedUser = null;
            try {
                post.setEntity(new UrlEncodedFormEntity(dataToSend));
                HttpResponse httpResponse = client.execute(post);

                HttpEntity entity = httpResponse.getEntity();
                String result = EntityUtils.toString(entity);
                JSONObject jObject = new JSONObject(result);

                if (jObject.length() == 0)
                {
                    returnedUser = null;
                }
                else
                {
                    returnedUser = new User(user.username, user.password);
                }

            }catch (Exception e){
                e.printStackTrace();
            }

            return returnedUser;
        }

        @Override
        protected void onPostExecute(User returnedUser) {
            progressDialog.dismiss();
            userCallback.done(returnedUser);
            super.onPostExecute(returnedUser);
        }
    }
}
公共类服务器请求{
进行对话进行对话;
公共静态最终int连接\u超时=1000*15;
公共静态最终字符串服务器\u地址=”http://192.168.0.17:8081/project/";
公共服务器请求(上下文){
progressDialog=新建progressDialog(上下文);
progressDialog.setCancelable(假);
progressDialog.setTitle(R.string.progress\u对话框);
progressDialog.setMessage(“请稍候…”);
}
public void storeUserDataInBackground(用户用户,GetUserCallback userCallback){
progressDialog.show();
新建StoreUserDataAsyncTask(用户,userCallback).execute();
}
public void fetchUserDatainBackground(用户用户,GetUserCallback回调){
progressDialog.show();
新建fetchUserDataAsyncTask(用户,回调).execute();
}
公共类StoreUserDataAsyncTask扩展了AsyncTask{
用户;
GetUserCallback-userCallback;
public StoreUserDataAsyncTask(用户用户,GetUserCallback userCallback){
this.user=用户;
this.userCallback=userCallback;
}
@凌驾
受保护的Void doInBackground(Void…参数){
ArrayList dataToSend=新的ArrayList();
添加(新的BasicNameValuePair(“username”,user.username));
添加(新的BasicNameValuePair(“密码”,user.password));
HttpParams httpRequestParams=新的BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams,连接超时);
HttpConnectionParams.setSoTimeout(httpRequestParams,连接超时);
HttpClient客户端=新的默认HttpClient(httpRequestParams);
HttpPost=newhttppost(服务器地址+“Register.php”);
试一试{
post.setEntity(新的UrlEncodedFormEntity(dataToSend));
客户。执行(post);
}捕获(例外e){
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(void避免){
progressDialog.disclose();
userCallback.done(null);
super.onPostExecute(避免);
}
}
公共类fetchUserDataAsyncTask扩展了AsyncTask{
用户;
GetUserCallback-userCallback;
公共fetchUserDataAsyncTask(用户用户,GetUserCallback userCallback){
this.user=用户;
this.userCallback=userCallback;
}
@凌驾
受保护的用户doInBackground(无效…参数){
ArrayList dataToSend=新的ArrayList();
添加(新的BasicNameValuePair(“username”,user.username));
添加(新的BasicNameValuePair(“密码”,user.password));
HttpParams httpRequestParams=新的BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams,连接超时);
HttpConnectionParams.setSoTimeout(httpRequestParams,连接超时);
HttpClient客户端=新的默认HttpClient(httpRequestParams);
HttpPost=newhttppost(SERVER_address+“FetchUserData.php”);
用户returnedUser=null;
试一试{
post.setEntity(新的UrlEncodedFormEntity(dataToSend));
HttpResponse HttpResponse=client.execute(post);
HttpEntity entity=httpResponse.getEntity();
字符串结果=EntityUtils.toString(实体);
JSONObject jObject=新JSONObject(结果);
if(jObject.length()=0)
{
returnedUser=null;
}
其他的
{
returnedUser=新用户(User.username、User.password);
}
}捕获(例外e){
e、 printStackTrace();
}
返回者;
}
@凌驾
PostExecute上受保护的void(用户返回用户){
progressDialog.disclose();
userCallback.done(returnedUser);
super.onPostExecute(returnedUser);
}
}
}

这是我第一次将android连接到在线数据库,我仍在学习android开发,因此我希望这里能提供任何帮助。:)

您的问题表明您对基本术语有一些问题。 . 当您创建了一个帐户(顺便说一句,数据库最好不要存储)时,您可能会完全一样地记录:发送用户名和密码。如果它存在于数据库中,请创建

()

现在,您将能够根据用户的请求(通过会话)确定是否已到达

并将数据添加到表中

id | login | score
这是最简单的解决办法。祝你好运

    public class ServerRequests {

    ProgressDialog progressDialog;
    public static final int CONNECTION_TIMEOUT = 1000 * 15;
    public static final String SERVER_ADRESS = "http://192.168.0.17:8081/project/";

    public ServerRequests(Context context){
        progressDialog = new ProgressDialog(context);
        progressDialog.setCancelable(false);
        progressDialog.setTitle(R.string.progress_dialog);
        progressDialog.setMessage("Please wait...");
    }

    public void storeUserDataInBackground(User user, GetUserCallback userCallback){
        progressDialog.show();
        new StoreUserDataAsyncTask(user, userCallback).execute();
    }

    public void fetchUserDatainBackground(User user, GetUserCallback callBack){
        progressDialog.show();
        new fetchUserDataAsyncTask(user, callBack).execute();
    }

    public class StoreUserDataAsyncTask extends AsyncTask<Void, Void, Void>{
        User user;
        GetUserCallback userCallback;

        public StoreUserDataAsyncTask(User user, GetUserCallback userCallback){
            this.user = user;
            this.userCallback = userCallback;
        }

        @Override
        protected Void doInBackground(Void... params) {
            ArrayList<NameValuePair> dataToSend = new ArrayList<>();
            dataToSend.add(new BasicNameValuePair("username", user.username));
            dataToSend.add(new BasicNameValuePair("password", user.password));

            HttpParams httpRequestParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
            HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);

            HttpClient client = new DefaultHttpClient(httpRequestParams);
            HttpPost post = new HttpPost(SERVER_ADRESS + "Register.php");

            try {
                post.setEntity(new UrlEncodedFormEntity(dataToSend));
                client.execute(post);
            }catch (Exception e){
                e.printStackTrace();
            }


            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            progressDialog.dismiss();
            userCallback.done(null);
            super.onPostExecute(aVoid);
        }
    }

    public class fetchUserDataAsyncTask extends AsyncTask<Void, Void, User> {
        User user;
        GetUserCallback userCallback;

        public fetchUserDataAsyncTask(User user, GetUserCallback userCallback) {
            this.user = user;
            this.userCallback = userCallback;
        }

        @Override
        protected User doInBackground(Void... params) {
            ArrayList<NameValuePair> dataToSend = new ArrayList<>();
            dataToSend.add(new BasicNameValuePair("username", user.username));
            dataToSend.add(new BasicNameValuePair("password", user.password));

            HttpParams httpRequestParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
            HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);

            HttpClient client = new DefaultHttpClient(httpRequestParams);
            HttpPost post = new HttpPost(SERVER_ADRESS + "FetchUserData.php");

            User returnedUser = null;
            try {
                post.setEntity(new UrlEncodedFormEntity(dataToSend));
                HttpResponse httpResponse = client.execute(post);

                HttpEntity entity = httpResponse.getEntity();
                String result = EntityUtils.toString(entity);
                JSONObject jObject = new JSONObject(result);

                if (jObject.length() == 0)
                {
                    returnedUser = null;
                }
                else
                {
                    returnedUser = new User(user.username, user.password);
                }

            }catch (Exception e){
                e.printStackTrace();
            }

            return returnedUser;
        }

        @Override
        protected void onPostExecute(User returnedUser) {
            progressDialog.dismiss();
            userCallback.done(returnedUser);
            super.onPostExecute(returnedUser);
        }
    }
}
//here we are looking for a user in the database. I do not know how to work with mysqli
session_start();
$_SESSION['name'] = $login;
if ($_SESSION['name'] != '')
id | login | score