Ich erstelle ein soziales Netzwerk für Android mit Android Studio. Wenn ich Text in alle Felder eingib und auf Register
klicke, passiert nichts. Ich habe vorher den Android Monitor überprüft und es ausgedruckt, dass ich nicht die Internet-Erlaubnis verwendet habe. Also habe ich das hinzugefügt. Jetzt bekomme ich keine Fehler und trotzdem passiert nichts, wenn ich auf Registrieren klicke. Wenn ich auf Registrieren klicke, wenn die Registrierung erfolgreich war, gehen die Benutzerinformationen in die Datenbank und dann zum Anmeldebildschirm. Kann mir jemand helfen, dieses Problem zu beheben?Android Studio Anmeldung funktioniert nicht
Android Manifest:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
registeractivity.java:
public class RegisterActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
final EditText etUsername = (EditText) findViewById(R.id.etUsername);
final EditText etPw = (EditText) findViewById(R.id.etPw);
final EditText etEmail = (EditText) findViewById(R.id.etEmail);
final Button bRegister = (Button) findViewById(R.id.bRegister);
final TextView loginLink = (TextView) findViewById(R.id.tvLoginHere);
loginLink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent loginIntent = new Intent(RegisterActivity.this, LoginActivity.class);
RegisterActivity.this.startActivity(loginIntent);
}
});
bRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String username = etUsername.getText().toString();
final String pw = etPw.getText().toString();
final String email = etEmail.getText().toString();
if (etUsername.getText().toString().trim().length() <= 0) {
Toast.makeText(RegisterActivity.this, "Username is empty", Toast.LENGTH_SHORT).show();
}
if (etPw.getText().toString().trim().length() <= 0) {
Toast.makeText(RegisterActivity.this, "Password is empty", Toast.LENGTH_SHORT).show();
}
if (etEmail.getText().toString().trim().length() <= 0) {
Toast.makeText(RegisterActivity.this, "E-mail is empty", Toast.LENGTH_SHORT).show();
}
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(RegisterActivity.this, LoginActivity.class);
RegisterActivity.this.startActivity(intent);
} else{
AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
builder.setMessage("Register Failed")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
RegisterRequest registerRequest = new RegisterRequest(username, pw, email, responseListener);
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
queue.add(registerRequest);
}
});
}
}
registerrequest.java:
public class RegisterRequest extends StringRequest {
private static final String REGISTER_REQUEST_URL = "http://hash.host22.com/register.php";
private Map<String, String> params;
public RegisterRequest(String username, String pw, String email, Response.Listener<String> listener) {
super(Method.POST, REGISTER_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("username", username);
params.put("pw", pw);
params.put("email", email);
}
@Override
public Map<String, String> getParams() {
return params;
}
}
register.php:
if(isset($_POST['bRegister'])) {
if (empty($_POST["username"])) {
echo"Fill in username to sign up";
} else {
if (empty($_POST["pw"])) {
echo"Fill in password to sign up";
} else {
if (empty($_POST["pw2"])) {
echo"Confirm password to sign up";
} else {
if (empty($_POST["email"])) {
echo"Fill in email to sign up";
} else {
if ($_POST['pw'] == $_POST['pw2']) {
$username = mysqli_real_escape_string($con, $_POST["username"]);
$pw= mysqli_real_escape_string($con, $_POST["pw"]);
$email = mysqli_real_escape_string($con, $_POST["email"]);
$result = mysqli_query($con ,"SELECT * FROM users WHERE username='" . $username . "'");
if(mysqli_num_rows($result) > 0)
{
echo "Username exists";
} else {
$result2 = mysqli_query($con ,"SELECT * FROM users WHERE email='" . $email. "'");
if(mysqli_num_rows($result2) > 0)
{
echo "Email exist";
} else {
$pw = password_hash($pw, PASSWORD_BCRYPT, array('cost' => 14));
$sql = "INSERT INTO users (username, pw, email) VALUES('" . $username . "', '" . $pw . "', '" . $email . "')";
if(mysqli_query($con, $sql)){
// if insert checked as successful echo username and password saved successfully
echo"success";
}else{
echo mysqli_error($con);
}
} } } else{
echo "The passwords do not match."; // and send them back to registration page
}}}}}
}
bitte helfen danke.
Hmm sind die schließenden Klammern in register.php correct ??? – Akintunde007
Wo? Ich habe übrigens nicht meinen gesamten Code gepostet. Nur die relevanten Sachen –
Ja. Ich habe nicht meinen gesamten Code gepostet. Wenn ich auf die register.php Webseite gehe, bekomme ich keine Fehler –