Ich habe diesen Code, der gut für mich funktioniert, und gibt mir Zugriff auf die Datenbank. das einzige Problem ist, dass ich Nachrichten, Toasts oder etwas hinzufügen möchte, um die Fehler im Falle des doppelten Primärschlüsselwertes anzuzeigen ...Fügen Sie Toasts in Abhängigkeit von Json-Antwort hinzu
Ist hier der Code meiner asyncTask (ich fügte den Toast hinzu, aber es tat nicht arbeiten :()
Button con=(Button)findViewById(R.id.inscription);
con.setOnClickListener(new OnClickListener() {
public void onClick(View v){
new CreateNewUser().execute();
}
});
}
class CreateNewUser extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
protected String doInBackground(String... args) {
@SuppressWarnings("deprecation")
Date d=new Date(an-2800,mn,jn);
Date d1=new Date(ap-2800,mp,jp);
String datenaiss=d.toString();
String deliv=d1.toString();
EditText pseud=(EditText) findViewById(R.id.pseud);
String pseudo = pseud.getText().toString();
EditText name=(EditText) findViewById(R.id.nom);
String nom = name.getText().toString();
EditText prenom=(EditText) findViewById(R.id.pren);
String pren =prenom.getText().toString();
EditText cinn=(EditText) findViewById(R.id.cin);
String cin = cinn.getText().toString();
EditText ag=(EditText) findViewById(R.id.age);
String age = ag.getText().toString();
EditText tele=(EditText) findViewById(R.id.tel);
String tel = tele.getText().toString();
EditText mail=(EditText) findViewById(R.id.email);
String email = mail.getText().toString();
EditText adress=(EditText) findViewById(R.id.adresse);
String adresse = adress.getText().toString();
EditText motdp=(EditText) findViewById(R.id.pwd);
String pwd = motdp.getText().toString();
EditText vill=(EditText) findViewById(R.id.ville);
String ville = vill.getText().toString();
EditText numpermi=(EditText) findViewById(R.id.numperm);
String numperm = numpermi.getText().toString();
String x="http://192.168.1.5/add_user.php";
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("pseudo", pseudo));
params.add(new BasicNameValuePair("mdp", pwd));
params.add(new BasicNameValuePair("datenaiss", datenaiss));
params.add(new BasicNameValuePair("deliv", deliv));
params.add(new BasicNameValuePair("nom", nom));
params.add(new BasicNameValuePair("prenom", pren));
params.add(new BasicNameValuePair("cin", cin));
params.add(new BasicNameValuePair("age", age));
params.add(new BasicNameValuePair("tel", tel));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("adresse", adresse));
params.add(new BasicNameValuePair("ville", ville));
params.add(new BasicNameValuePair("numperm", numperm));
JSONObject json;
try {
json = jsonParser.makeHttpRequest(x,"POST", params);
Log.d("Create Response", json.toString());
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
Toast.makeText(MainActivity.this,"Ajouté avec succés", Toast.LENGTH_LONG).show();}
else
Toast.makeText(getBaseContext(),"echec",Toast.LENGTH_LONG).show();}
catch(JSONException e) {
e.printStackTrace();
}
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// check log cat fro response
return null;}
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
}
Hier ist der Code meiner php add_user Datei ist: ...........
// mysql inserting a new row
$result = mysql_query("INSERT INTO utilisateur VALUES('$pseudo', '$mdp', '$nom', '$prenom','$cin', '$datenaiss', '$tel', '$email', '$adresse', '$ville', '$numperm', '$deliv')");
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Product successfully created.";
// echoing JSON response
echo json_encode($response);
} else {
// failed to insert row
$response["success"] = 0;
$response["message"] = "Oops! An error occurred.";
// echoing JSON response
echo json_encode($response);
}
}?>
Könnt ihr mir sagen, was kann ich tun? Wenn es verschiedene Möglichkeiten gibt, dasselbe zu tun, würde ich sie gerne ausprobieren: D
die json kann null sein, so, wenn Ihr versucht, es zu analysieren, wird es zu Ihren Fang gehen und dort kann man einen Toast setzen –
ich Ihnen für Ihre reponse danken aber, Was kann ich hinzufügen, um einen Fehler zu bekommen, wenn der Benutzer einen Wert des Primärschlüssels (Pseudo) hinzufügt, der bereits existiert? – AbdallahJg
so ist es nicht Teil auf Ihrem Android-Code jetzt, es ist auf dem PHP-Teil jetzt –