当我单击应用程序上的按钮以将数据发送到PHP时,没有错误,但到PHP的数据为空!
我们尝试了一些不同的代码,但这是唯一在数据库中写一行(空行)的代码
RequestQueue requestQueue;
String insertUrl ="http://www.test.com/test.php";
// new NetworkAsyncTask().execute(); // verificare
StringRequest request= new StringRequest(Request.Method.POST, insertUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
openDialog("ok");
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
openDialog(error.toString());
}
}){
@Override
protected Map<String, String>getParams() throws AuthFailureError{
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("nome",nome.getText().toString());
parameters.put("cognome",cognome.getText().toString());
return parameters;
}
};
requestQueue.add(request);
openDialog("INVIATA");
}
我们还尝试了以下方法: 没有输出,但是在调试中,所有的都是正确的
class NetworkAsyncTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
String myurl = "http://www.theactivitymanager.com/InsertPrenotazione.php";
try {
URL url = new URL(myurl);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String post_data = URLEncoder.encode("nome", "UTF-8")+"="+URLEncoder.encode("dio","UTF-8");
bufferedWriter.write(post_data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
httpURLConnection.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
这是PHP代码。这实际上适用于iOS应用
<?php
$response = array();
$rest_json = file_get_contents("php://input");
$_POST = json_decode($rest_json, true);
// Create connection
$conn=mysqli_connect("localhost","adminr","password","dbtest");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$nome=$_POST["nome"];
$cognome = $_POST["cognome"];
$mysql_qry = "INSERT INTO testTableUser (nome, cognome) VALUES ('$nome','$cognome')";
if (mysqli_query($conn,$mysql_qry))
{
$response["success"] = 1;
$response["message"] = "Data inserted into database.";
// echoing JSON response
echo json_encode($response);
}
else
{
$response["error"] = 1;
$response["message"] = "Error: " . $conn->error;
// echoing JSON response
echo json_encode($response);
}
$conn->close();
?>