Android stüdyo kullanıyorum ve bir veritabanına bağlanıyorum. Veritabanından bilgi almayı başardım ve gayet iyi çalışan bir oturum açma özelliği oluşturdum. Şimdi bir kayıt özelliği yaratmaya çalışıyorum. Kullanıcıyı kaydetmek için sadece kullanıcı adı, soyadı, kullanıcı adı ve şifre girilmelidir. Basitleştirilmiş kodlamadan bir eğiticiyi takip etmeye çalışıyorum ama bir sebepten işe yaramayacağım. bir php script döndürülür ama benim koduyla tost mesajı sadece bu ben bu özelliğiPHP Eklemek için komut dosyası yalnızca <br /> döndürüyor ve verileri veritabanına eklemiyor
<?php
$forename = $_GET['forename'];
$surname = $_GET['surname'];
$username = $_GET['username'];
$password = $_GET['password'];
$dob = $_GET['dob'];
if($forename == '' || $surname == '' || $username == '' || $password == '' || $dob == ''){
echo 'please fill all values';
}else{
require_once('dbConnect.php');
$sql = "SELECT * FROM users WHERE username='$username'";
$check = mysqli_fetch_array(mysqli_query($con,$sql));
if(isset($check)){
echo 'username already exist';
}else{
$sql = "INSERT INTO users (forename,surname,username,password,dob) VALUES('$forename','$surname','$username','$password','$dob')";
if(mysqli_query($con,$sql)){
echo 'successfully registered';
}else{
echo 'oops! Please try again!';
}
}
mysqli_close($con);
}
?>
için kullanıyorum php script
görüntüler eğer kodunda bir tost bir hata mesajı göstermek için kullanılıyor
Ve bu uygulama içinde benim java koduyla ilgili kısımları ise
@Override
public void onClick(View v){
if(v == buttonReg){
registerUser();
}
}
public void registerUser(){
String forename = eTxtForename.getText().toString().trim().toLowerCase();
String surname = eTxtSurname.getText().toString().trim().toLowerCase();
String username = eTxtUserName.getText().toString().trim().toLowerCase();
String password = eTxtPass.getText().toString().trim().toLowerCase();
register(forename, surname, username, password);
}
private void register(String forename, String surname, String username, String password){
String urlSuffix = "?forename="+forename+"&surname="+surname+"&username="+username+"&password="+password;
class RegisterUser extends AsyncTask<String, Void, String>{
ProgressDialog loading;
@Override
protected void onPreExecute(){
super.onPreExecute();
loading = ProgressDialog.show(RegisterActivity.this, "Please Wait", null, true, true);
}
@Override
protected void onPostExecute(String s){
super.onPostExecute(s);
loading.dismiss();
Log.d("From s", s);
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(String... params){
String s = params[0];
BufferedReader bufferedReader = null;
try{
URL url = new URL(Config.URL_REGISTER+s);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String result;
result = bufferedReader.readLine();
return result;
}catch (Exception e){
return null;
}
}
}
RegisterUser ru = new RegisterUser();
ru.execute(urlSuffix);
}
Bunu görmen gereken, ama başka bir şey eklemek gerekirse bana bildirin olacak her şey olduğunu düşünüyorum
DÜZENLEME: Gibi önerdiğim hatanın ne olduğunu görmek için bir istek göndermek için HttpRequester kullandım. Hata söyler:
Uyarı: mysqli_fetch_array() parametresi 1 mysqli_result için boolean 14
için satır hattında /home/u613295501/public_html/register.php verilen bekler
$check = mysqli_fetch_array(mysqli_query($con,$sql));