Android mySQL registration fails with no error.

  • Replies:0
Mohamed Wisam
  • Forum posts: 1

Mar 30, 2017, 7:14:25 PM via Website

I'm a student and I'm trying to insert data into mySql database using android. I created the layout, java class as well as php file for registration. I get no errors when I run the app but once I click Sign up Button, it does not work. No error is shown but it does not continue either.
NOTE: I think it is something wrong with my php file. But I might be wrong too.

Here are my codes.
Register.java

package com.example.mohamedwisam.regtest;

import android.content.Intent; import
android.support.v7.app.AlertDialog; import
android.support.v7.app.AppCompatActivity; import android.os.Bundle;
import android.view.View; import android.widget.Button; import
android.widget.EditText; import android.widget.Toast;

import com.android.volley.RequestQueue; import
com.android.volley.Response; import
com.android.volley.toolbox.StringRequest; import
com.android.volley.toolbox.Volley;

import org.json.JSONException; import org.json.JSONObject;

public class Register extends AppCompatActivity {
EditText etName, etPwd, etFullname, etDob;
Button btnReg;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

    etName = (EditText)findViewById(R.id.edtname);
    etPwd = (EditText)findViewById(R.id.edtpassword);
    etFullname = (EditText)findViewById(R.id.edtfullname);
    etDob = (EditText)findViewById(R.id.edtage);

    btnReg = (Button)findViewById(R.id.btnreg);

    btnReg.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            final String uname = etName.getText().toString();
            final String pwd = etPwd.getText().toString();
            final String fullname = etFullname.getText().toString();
            final String dob = etDob.getText().toString();

            Response.Listener<String> responseListener = new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {
                        JSONObject jsonResponse = new JSONObject(response);
                        boolean success = jsonResponse.getBoolean("success");

                        if(success) {
                            Intent intent = new Intent(Register.this, Login.class);
                            Register.this.startActivity(intent);
                        }else {
                            Toast.makeText(Register.this, "ERROR", Toast.LENGTH_LONG).show();
                        }

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            };

            RegisterRequest registerRequest = new RegisterRequest(uname, pwd, fullname, dob, responseListener);
            RequestQueue queue = Volley.newRequestQueue(Register.this);
            queue.add(registerRequest);

        }
    });
} }

And Here is my RegisterRequest.java

package com.example.mohamedwisam.regtest;

import com.android.volley.Response; import
com.android.volley.toolbox.StringRequest;

import java.util.HashMap; import java.util.Map;

/** * Created by mohamedwisam on 3/30/17. */

public class RegisterRequest extends StringRequest {
private static final String REGISTER_REQUEST_URL = "url is here. forum does not let me post it yet";
private Map params;

public RegisterRequest(String uname, String password, String name, String dob, Response.Listener<String> listener) {
    super(Method.POST, REGISTER_REQUEST_URL, listener, null);
    params = new HashMap<>();
    params.put("username", uname);
    params.put("password", password);
    params.put("name", name);
    params.put("dob", dob);

}

@Override
public Map<String, String> getParams() {
    return params;
} }

and my PHP file. Reg.php

$con = mysqli_connect("localhost", "root", "", "medicap");

$name = $_POST["username"];
$age = $_POST["password"];
$username = $_POST["name"];
$password = $_POST["dob"];


$statement = mysqli_prepare($con, "INSERT INTO users (username, password, name, dob) VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($statement, 'ssss', $name, $username, $age, $password);
mysqli_stmt_execute($statement);


$response = array();
$response["success"] = true;

echo json_encode($response); ?>

Reply