首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在android +phpmysql(大用户)中登录和注册的最佳方法是什么?

在android +phpmysql(大用户)中登录和注册的最佳方法是什么?
EN

Stack Overflow用户
提问于 2013-05-20 06:30:05
回答 1查看 1.3K关注 0票数 0

我擅长php,mysql编程.我写了一个php,mysql脚本,用户可以登录,注册,有配置文件等等。我只是个android程序的初学者..。我编写了一个android应用程序,它为我的站点的移动显示版本提供了一个网页视图。

我想知道:如何检查登录/不登录的用户(当用户登录成功时用php创建的会话)?(实际上,我希望在我的android应用程序中检查$_ session‘’logged‘,以显示特定的活动(如果会话存在,则显示activity1,如果不退出,则显示activity2)

重要的注意事项:我是android系统中最大的用户!

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

我的问题解决了!你可以用这个教程.这很容易理解. Android和使用PHP、MySQL和SQLite注册

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-20 06:44:42

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

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

-> User.java

代码语言:javascript
复制
class User{
 private String username = "";
 private String password = "";

// Getter and Setter..
}

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

代码语言:javascript
复制
User user = new User();
user.setPassword(...);
user.setUsername(...);

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

代码语言:javascript
复制
 Url url = new Url("http://your.server/index.php?username=" + user.getUsername() + "&password=" + user.getPassword());
 HttpURLRequest conn = url.openConnection();
 .......

进一步资料。我通常从登录过程中保存cookie。

代码语言:javascript
复制
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并发送到服务器。

代码语言:javascript
复制
mConnection.setRequestProperty("Cookie", cookie);

这里有更多信息。

在服务器端。

代码语言:javascript
复制
<?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);
?>

安卓系统

代码语言:javascript
复制
if(isValid){
  startActicity(....)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16643795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档