java - Android index php file does not register the user -
i'm following this tutorial android hive on how create login , registration system using php , mysql; however, i'm having difficulties registering user.
edit: problem whenever register button clicked returns "required tag missing" , not store data should.
i have tried using advanced rest client extension google chrome, didn't provide me useful information.
the index.php
file contains functions storing , getting data of users database:
<?php //this file has role fo accepting requests , giving json responses. // accepts post , requests if (isset($_post['tag']) && $_post['tag'] != ''){ //get tag $tag = $_post['tag']; //include database handler require_once 'login_api/db_functions.php'; $db = new db_functions(); //reponse array $response = array("tag" => $tag, "error" => false); //check tag type if ($tag == 'login'){ //request type going to check login $email = $_post['email']; $password = $_post['password']; //check user $user = $db->getusersbyemailandpassword($email, $password); if ($user != false){ //this mean user has been found $response["error"] = false; $response["uid"] = $user["unique_id"]; $response["user"]["name"] = $user["name"]; $response["user"]["email"] = $user["email"]; $response["user"]["created"] = $user["created"]; $response["user"]["updated"] = $user["updated"]; echo json_encode($response); }else { //user not found //echo json error = 1 $response["error"] = true; $response["error_msg"] = "incorrect email or password"; echo json_response($response); } }else if ($tag == 'register') { //request type register new user $name = $_post['name']; $email = $_post['email']; $password = $_post['password']; //check see if user exists if ($db->isuserexisted($email)){ //user exists produce error response $response["error"] = true; $response["error_msg"] = "user exists"; echo json_encode($response); }else{ //store user $user = $db->storeuser($name, $email, $password); if ($user){ //user stored //creating data json $response["error"] = false; $response["uid"] = $user["unique_id"]; $response["user"]["name"] = $user["name"]; $response["user"]["email"] = $user["email"]; $response["user"]["created"] = $user["created"]; $response["user"]["updated"] = $user["updated"]; echo json_encode($response); }else{ //failure storing user details database $response["error"] = true; $response["error_msg"] = "an error has occured registering.."; echo json_encode($response); } } }else { //user failed store $response["error"] = true; $response["error_msg"] = "uknown 'tag', should either login or register"; echo json_encode($response); } }else { $response["error"] = true; $response["error_msg"] = "required, 'tag' missing"; echo json_encode($response); } ?>
my registeractivity:
public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_register); inputfullname = (edittext) findviewbyid(r.id.name); inputemail = (edittext) findviewbyid(r.id.email); inputpassword = (edittext) findviewbyid(r.id.password); btnregister = (button) findviewbyid(r.id.btnregister); btnlinktologin = (button) findviewbyid(r.id.btnlinktologinscreen); // progress dialog pdialog = new progressdialog(this); pdialog.setcancelable(false); // session manager session = new sessionmanager(getapplicationcontext()); // sqlite database handler db = new sqlitehandler(getapplicationcontext()); // check if user logged in or not if (session.isloggedin()) { // user logged in. take him main activity intent intent = new intent(registeractivity.this, mainactivity.class); startactivity(intent); finish(); } // register button click event btnregister.setonclicklistener(new view.onclicklistener() { public void onclick(view view) { string name = inputfullname.gettext().tostring(); string email = inputemail.gettext().tostring(); string password = inputpassword.gettext().tostring(); if (!name.isempty() && !email.isempty() && !password.isempty()) { registeruser(name, email, password); } else { toast.maketext(getapplicationcontext(), "please enter details!", toast.length_long) .show(); } } }); // link login screen btnlinktologin.setonclicklistener(new view.onclicklistener() { public void onclick(view view) { intent = new intent(getapplicationcontext(), loginactivity.class); startactivity(i); finish(); } }); } /** * function store user in mysql database post params(tag, name, */ private void registeruser(final string name, final string email, final string password) { // tag used cancel request string tag_string_req = "req_register"; pdialog.setmessage("registering ..."); showdialog(); stringrequest strreq = new stringrequest(method.post, appconfig.url_register, new response.listener<string>() { @override public void onresponse(string response) { log.d(tag, "register response: " + response.tostring()); hidedialog(); try { jsonobject jobj = new jsonobject(response); boolean error = jobj.getboolean("error"); if (!error) { // user stored in mysql // store user in sqlite string uid = jobj.getstring("uid"); jsonobject user = jobj.getjsonobject("user"); string name = user.getstring("name"); string email = user.getstring("email"); string created = user .getstring("created"); // inserting row in users table db.adduser(name, email, uid, created); // launch login activity intent intent = new intent( registeractivity.this, loginactivity.class); startactivity(intent); finish(); } else { // error occurred in registration. error // message string errormsg = jobj.getstring("error_msg"); toast.maketext(getapplicationcontext(), errormsg, toast.length_long).show(); } } catch (jsonexception e) { e.printstacktrace(); } } }, new response.errorlistener() { @override public void onerrorresponse(volleyerror error) { log.e(tag, "registration error: " + error.getmessage()); toast.maketext(getapplicationcontext(), error.getmessage(), toast.length_long).show(); hidedialog(); } }) { @override protected map<string, string> getparams() { // posting params register url map<string, string> params = new hashmap<string, string>(); params.put("tag", "register"); params.put("name", name); params.put("email", email); params.put("password", password); return params; } }; // adding request request queue appcontroller.getinstance().addtorequestqueue(strreq, tag_string_req); } private void showdialog() { if (!pdialog.isshowing()) pdialog.show(); } private void hidedialog() { if (pdialog.isshowing()) pdialog.dismiss(); } }
Comments
Post a Comment