0

我是 php、mysql 编程方面的专家……我编写了一个 php、mysql 脚本,用户可以登录、注册、拥有个人资料等等……我只是 android 编程的初学者……我写了一个具有用于显示我网站的移动版本的 web 视图的 android 应用程序。

我想知道: 我如何检查用户是否登录(用户登录成功时使用 php 创建的会话)?(真的我想在我的 android 应用程序中检查例如 $_SESSION['logged'] 以显示特定活动(如果会话存在,则显示活动 1,如果不退出则显示活动 2)

重要提示:我是 android 的大佬!

对不起我的英语(英语,不是我的母语!)

我的问题解决了! 你可以使用这个教程......非常简单易懂...... Android Login and Registration with PHP, MySQL and SQLite

4

1 回答 1

0

我不是专业人士。希望我能解决你的问题。我有两种方法来做会员系统。

首先,我将创建一个像 User.java 这样的数据模型

-> 用户.java

class User{
 private String username = "";
 private String password = "";

// Getter and Setter..
}

当用户登录时,创建一个新的用户对象。

User user = new User();
user.setPassword(...);
user.setUsername(...);

当您需要通过 httprequest 从服务器获取信息时。您需要做的是从 User 对象中获取信息

 Url url = new Url("http://your.server/index.php?username=" + user.getUsername() + "&password=" + user.getPassword());
 HttpURLRequest conn = url.openConnection();
 .......

更多信息。我通常从登录过程中保存 cookie。

ArrayList<String> cookiesList = new ArrayList<String>();
Map<String, List<String>> mHeaderMap = mConnection.getHeaderFields();
String headername = "";
for(int i = 0; (headername = mConnection.getHeaderFieldKey(i)) != null; i++){
    if(headername.equals("Set-Cookie")){
        cookiesList.add(mConnection.getHeaderField(i));
    }
}

然后,如果您发送另一个登录请求。您再次使用 cookie 并发送到服务器。

mConnection.setRequestProperty("Cookie", cookie);

更多信息在这里。

在服务器端。

<?php
session_start();
if($_GET.count() > 0)
$username = $_GET['username'];
if($_GET.count() > 0)
$password = $_GET['password'];
$arr = array();

if($_SESSION['username'] == $username && $_SESSION['password'] == password){
 $arr = array("isValid" => true, "message" => "");
}else{
 $arr = array("isValid" => false, "message" => "");
}
echo json_encode($arr);
?>

在安卓上

if(isValid){
  startActicity(....)
}
于 2013-05-20T06:44:42.577 回答