2017-11-23 4 views
0

So jetzt habe ich Anmeldeformular und nach der Registrierung können Sie erfolgreich einloggen und nach erfolgreichem Login leitet es Sie auf eine neue Seite - Aktivität in Android App. Ich werde verschiedene Aktivitäten (Seiten) machen. Ich möchte umleiten basierend auf Informationen Benutzer gab mit der Registrierung.Umleitung basierend auf Daten in Mysql Tabelle

Beispiel: Der Benutzer muss seinen Vor- und Nachnamen, sein Alter, seinen Benutzernamen und sein Passwort eingeben. Nehmen wir an, wir haben unterschiedliche Aktivitäten (Seiten) basierend auf dem Alter des Benutzers. Also, wenn er/sie sich erfolgreich mit dem richtigen Benutzernamen und Passwort einloggen (und sein/ihr Alter ist 18), wird er/sie auf eine Aktivität 18.java umgeleitet. oder wenn er/sie sich erfolgreich mit korrektem Benutzernamen und Passwort einloggen (und sein/ihr Alter ist 20), wird er auf eine Aktivität 20.java umgeleitet.

Wie geht das?

Vorerst ist mein Code etw wie folgt aus:

@Override 
    protected void onPostExecute(String result) { 
     alertDialog.setMessage(result); 


     if(result.contentEquals("login success !!!!! Welcome user")) { 

      context.startActivity(new Intent(context, 18.class)); 

     }else 
     { 
      Toast.makeText(context, "Wrong Username or Password!", Toast.LENGTH_SHORT).show(); 
     } 



    } 

es funktioniert gut, aber nur für die Umleitung auf die gleiche Aktivität 18.class.

Ich verwende MySQL-Tabelle.

Registrierung PHP ist:

<?php 

require "conn.php"; 

$name = $_POST["name"]; 
$surname = $_POST["surname"]; 
$age = $_POST["age"]; 
$username = $_POST["username"]; 
$password = $_POST["password"]; 
$link_address = "http://10.0.2.2/login.php"; 

$mysql_qry = "insert into employee_data (name, surname, age, username, password) values ('$name','$surname','$age','$username','$password');"; 


if($conn->query($mysql_qry)=== TRUE) { 
echo 'You have been successfully registered. <a href="'.$link_address.'">Link</a>'; 

} 
else { 
echo "Error: " . $mysql_qry . "<br>" . $conn->error; 
} 
$conn->close(); 
?> 

und Anmeldung:

<?php 
require "conn.php"; 
$user_name = $_POST["user_name"]; 
$user_pass = $_POST["password"]; 
$mysql_qry = "select * from employee_data where username like '$user_name' and password like '$user_pass';"; 
$result = mysqli_query($conn ,$mysql_qry); 
if(mysqli_num_rows($result) > 0) { 
echo "login success !!!!! Welcome user"; 
} 
else { 
echo "login not success"; 
} 
$conn->close(); 
?> 
+0

Ich verstehe das grundlegende Problem nicht. Was ist das Problem, vor dem Sie stehen? –

+0

Nun, es leitet Sie nach dem Login auf die Seite 18.java um, aber ich brauche, dass, wenn Sie 20 Jahre alt sind (das ist in mysql Tabelle in der Nähe von Ihrem Benutzernamen und Passwort - Sie haben mir diese Informationen mit Registrierungsformular), dass es Sie umleitet Zur Aktivität mit dem Namen 20.java –

+0

können Sie das Alter des Benutzers in AsynTask übergeben und auf der Grundlage des Benutzeralters onPostExecute einchecken und die Aktivität entsprechend starten. – Gaurav

Antwort

0

Im, wenn die Bedingung der Login Erfolg in Ihrem PHP-Code, müssen Sie einige Änderungen tun.

if(mysqli_num_rows($result) > 0) { 
/*Since login is successful, you must get the age of the user associated with the email address from sql query and then echo **login success !!!!! Welcome user {age}** */ 
} 

Und in Ihrem Java-Code, ändern Sie es entsprechend. Überprüfen Sie, ob das Alter 18 ist, instanziieren Sie die 18. Klasse Absicht. Sonst wenn 20, dann die 20. Klasse Absicht.

Hoffen Sie, dass Sie hier die Grundidee bekommen?

Verwandte Themen