【问题标题】:Redirection based on data in mysql table根据mysql表中的数据进行重定向
【发布时间】:2017-11-23 12:45:10
【问题描述】:

所以现在我有注册表单,注册后您可以成功登录,成功登录后它会将您重定向到一个新页面 - android 应用程序中的活动。我会做不同的活动(页面)。我想根据用户在注册时提供的信息进行重定向。

示例:用户需要输入他/她的姓名、姓氏、年龄、用户名和密码。 假设我们根据用户的年龄有不同的活动(页面)。 因此,当他/她使用正确的用户名和密码(并且他/她的年龄为 18 岁)成功登录时,她/他将被重定向到活动 18.java。 或者当他/她使用正确的用户名和密码成功登录(并且他/她的年龄是 20 岁)时,他/她会被重定向到活动 20.java。

怎么做?

现在我的代码是这样的:

@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();
        }



    }

它工作正常,但仅用于重定向到相同的活动 18.class。

我正在使用 mysql 表。

注册php为:

<?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();
?>

并登录:

<?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();
?>

【问题讨论】:

  • 我不明白基本问题。您面临的问题是什么?
  • 好吧,现在它在登录到页面 18.java 后重定向你,但如果你是 20 岁,我需要它(在你的用户名和密码附近的 mysql 表中 - 你给了我这个信息注册表单),它将您重定向到名为 20.java 的活动
  • 您可以在 AsynTask 中传递用户年龄,并根据用户年龄检查 onPostExecute 并相应地启动活动。

标签: java android


【解决方案1】:

在你的php代码中登录成功的if条件,你需要做一些改变。

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}** */
}

并在您的 java 代码中进行相应的修改。检查年龄是否为 18,实例化 18.class 意图。否则,如果 20,则 20.class 意图。

希望您在这里了解基本概念?

【讨论】:

    猜你喜欢
    • 2021-12-27
    • 2021-09-17
    • 1970-01-01
    • 2010-12-04
    • 2020-03-11
    • 2016-06-08
    • 2016-11-04
    • 2016-07-05
    • 2011-04-28
    相关资源
    最近更新 更多