Android volley post sending параметр равен нулю
Я пытаюсь вставить данные в mysql, и он показывает "данные вставлены успешно", но пустая строка вставлена в mysql, и для этого я отладил и обнаружил, что Volley stringRequest равен нулю. Я думаю, что параметр равен нулю в таком случае, как поступить, пожалуйста, предложите.
мой код-белво
<pre><?php include 'DatabaseConfig.php' ; $con = mysqli_connect($HostName,$HostUser,$HostPass,$DatabaseName); $f_name = false; if(isset($_POST['name'])){ $f_name = $_POST['name']; } echo $f_name; $l_name = false; if(isset($_POST['fname'])){ $l_name = $_POST['fname']; } echo $l_name; $Sql_Query = "insert into dajs (name,fname) values ('$f_name','$l_name')"; if(mysqli_query($con,$Sql_Query)){ echo 'Data Inserted Successfully'; } else{ echo 'Try Again'; } mysqli_close($con); ?>
и мой Java-код ниже
<pre>package com.example.digitalrukhivalmikisamaj; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.app.ProgressDialog; import android.view.View; import android.widget.TextView; import android.widget.Toast; import android.widget.EditText; import android.widget.Button; import java.util.HashMap; import java.util.Map; import com.android.volley.DefaultRetryPolicy; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.RetryPolicy; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; public class applicationform extends AppCompatActivity { TextView tv; // Creating EditText. EditText FirstName, LastName ; // Creating button; Button InsertButton; // Creating Volley RequestQueue. RequestQueue requestQueue; // Create string variable to hold the EditText Value. String FirstNameHolder, LastNameHolder; // Creating Progress dialog. ProgressDialog progressDialog; // Storing server url into String variable. String HttpUrl = "https://dajsapp.000webhostapp.com/get_data1.php"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_applicationform); tv=findViewById(R.id.ttppl); tv.setText("ડિજિટલ ગુજરાતી અનુસૂચિત\n જાતિ સમાજ એપ "); // Assigning ID's to EditText. FirstName = (EditText) findViewById(R.id.name); LastName = (EditText) findViewById(R.id.fname); // Assigning ID's to Button. InsertButton = (Button) findViewById(R.id.btn1); // Creating Volley newRequestQueue . requestQueue = Volley.newRequestQueue(applicationform.this); progressDialog = new ProgressDialog(applicationform.this); // Adding click listener to button. InsertButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Showing progress dialog at user registration time. progressDialog.setMessage("Please Wait, We are Inserting Your Data on Server"); progressDialog.show(); // Calling method to get value from EditText. GetValueFromEditText(); // Creating string request with post method. 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(applicationform.this, ServerResponse, Toast.LENGTH_LONG).show(); } }, 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(applicationform.this, volleyError.toString(), Toast.LENGTH_LONG).show(); } }) { @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("first_name", FirstNameHolder); params.put("last_name", LastNameHolder); return params; } }; // Creating RequestQueue. RequestQueue requestQueue = Volley.newRequestQueue(applicationform.this); // Adding the StringRequest object into requestQueue. requestQueue.add(stringRequest); } }); } // Creating method to get value from EditText. public void GetValueFromEditText(){ FirstNameHolder = FirstName.getText().toString().trim(); LastNameHolder = LastName.getText().toString().trim(); } }
Так что, наконец, от отладки его залп stringRequest параметр send NULL пожалуйста, предложите, как преодолеть от этой проблемы.
Что я уже пробовал:
Я искал много блогов, но не нашел ни одной идеальной идеи, поэтому я здесь для того, чтобы обратиться за помощью.
Mohibur Rashid
Ваш параметр в java-приложении-first_name и last_name, но в вашем PHP-скрипте это fname и lname
MAHESH WAGHELA
Я изменил его в PHP, но результат тот же.
Mohibur Rashid
можете ли вы также обновить этот вопрос?
А также
распечатайте запрос в файле журнала и попробуйте запустить его в cli
Также войдите в $_SERVER, чтобы получить, если вы получаете запрос правильно
Вход $_POST, где с помощью print_r
И, наконец, напишите html-форму с методом post с аналогичным полем и попробуйте отправить и посмотреть, как она работает.
MAHESH WAGHELA
Я обновил свой вопрос, и вы можете увидеть мой файл logcat