Как передать переменную из PHP в Android Studio (сделано с android Volley) - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть рабочее приложение для регистрации / входа. Я построил его, используя залп Android, который использует String Request. После входа в систему мне нужно поместить идентификатор пользователя в текст или текстовое представление, чтобы передать его на другую страницу.

Вот мой PHP код:

<?php

if($_SERVER['REQUEST_METHOD']=='POST'){

include 'DatabaseConfigThesis.php';

$con = mysqli_connect($HostName,$HostUser,$HostPass,$DatabaseName);

$Email = mysqli_real_escape_string($con, $_POST["Email"]);
$Password = mysqli_real_escape_string($con, $_POST["Password"]);


$Query = $con->prepare("SELECT * from UserAccTable where Email= ? AND Password= ? ");
$Query->bind_param('ss', $Email, $Password); 
$Query->execute();

$records= array();
$result = $Query->get_result();
 while ($data = $result->fetch_assoc())
{
 $records[] = $data;
$UserID=$data['UserID'];
}

if(isset($result)){

echo "Data Matched";
}
else{
echo "Invalid Username or Password Please Try Again !";
}

}
else{
echo "Check Again";  
mysqli_close($con);
?>

Я сохранил идентификатор пользователя из массива в $ UserID, теперь все, что мне нужно, это сохранить его в моем приложении android. Я пытался найти что-то подобное в Интернете, но я не использовал JsonRequest в своем приложении android.

Вот мой android код приложения:

public class AddUser extends AppCompatActivity {
EditText EtUSerName,EtUserCon,EtUserEmail,EtUserPass;
Button btUserReg;
RequestQueue requestQueue;
ProgressDialog progressDialog;
String NameHolder, ContactHolder, EmailHolder,PasswordHolder,UserIDThrow;
int result;
String HttpUrl = "http://192.168.254.107:81/UserAccDatabaseTable/UserRegistration.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_user);
EtUSerName=findViewById(R.id.UserRegName);
 EtUserCon=findViewById(R.id.UserRegContact);
EtUserEmail=findViewById(R.id.UserRegEmail);
EtUserPass=findViewById(R.id.UserRegPass);

btUserReg=findViewById(R.id.btnUserRegister);

requestQueue = Volley.newRequestQueue(AddUser.this);
progressDialog = new ProgressDialog(AddUser.this);

btUserReg.setOnClickListener(new View.OnClickListener() {
                             @Override
                             public void onClick(View view) {
                                 progressDialog.setMessage("Please Wait, We are Inserting Your Data on Server");
                                 progressDialog.show();

                                 // Calling method to get value from EditText.
                                 GetValueFromEditText();

                                 StringRequest stringRequest = new StringRequest(Request.Method.POST, HttpUrl,
                                         new Response.Listener<String>() {
                                             @Override
                                             public void onResponse(String ServerResponse) {

                                                 // Hiding the progress dialog after all task complete.
                                                 progressDialog.dismiss();

                                                 // Showing response message coming from server.
                                                 Toast.makeText(AddUser.this, ServerResponse, Toast.LENGTH_LONG).show();
                                                 result = 0;

                                             }

                                         },
                                         new Response.ErrorListener() {
                                             @Override
                                             public void onErrorResponse(VolleyError volleyError) {

                                                 // Hiding the progress dialog after all task complete.
                                                 progressDialog.dismiss();

                                                 // Showing error message if something goes wrong.
                                                 Toast.makeText(AddUser.this, volleyError.toString(), Toast.LENGTH_LONG).show();
                                                 result = 1;
                                             }
                                         }) {
                                     @Override
                                     protected Map<String, String> getParams() {

                                         // Creating Map String Params.
                                         Map<String, String> params = new HashMap<String, String>();

                                         // Adding All values to Params.
                                         params.put("Name", NameHolder);
                                         params.put("ContactNo", ContactHolder);
                                         params.put("Email", EmailHolder);
                                         params.put("Password", PasswordHolder);


                                         return params;
                                     }

                                 };

                                 // Creating RequestQueue.
                                 RequestQueue requestQueue = Volley.newRequestQueue(AddUser.this);

                                 // Adding the StringRequest object into requestQueue.
                                 requestQueue.add(stringRequest);
                                 if(result==0 ){

                                     new Handler().postDelayed(new Runnable() {
                                         @Override
                                         public void run() {
                                             Intent intent =new Intent(AddUser.this,UserLog.class);
                                    startActivity(intent);
                                         }
                                     }, 5000);
                      }
                     else if(result==1){
                    Toast.makeText(AddUser.this, "Register Failed, Try Again!", Toast.LENGTH_SHORT).show();

                                 }

                             }

                         }
);
}

// Creating method to get value from EditText.
public void GetValueFromEditText(){

    NameHolder = EtUSerName.getText().toString().trim();
    ContactHolder = EtUserCon.getText().toString().trim();
    EmailHolder = EtUserEmail.getText().toString().trim();
    PasswordHolder= EtUserPass.getText().toString().trim();

}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...