首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android PHP服务器

Android PHP服务器
EN

Stack Overflow用户
提问于 2011-04-05 23:38:07
回答 4查看 4.2K关注 0票数 1

我正在使用一个Android应用程序,它将信息发送到PHP服务器。Android应用程序应该首先登录,如果登录成功,则开始发送数据。

这是php页面(登录):

代码语言:javascript
复制
<?php
$data = file_get_contents('php://input');
$json = json_decode($data);
$id=$json->{'im'};

$con = mysql_connect('localhost','root','1111');
mysql_select_db('root') or die(' ');
$sql = "SELECT name FROM chiled WHERE `im` LIKE $id ";

$query = mysql_query( $sql );

$a=mysql_fetch_row($query);
print(json_encode($a[0]));
$n=$json->{'name'};


mysql_close();
?>

PHP页面从Android应用程序接收id,并检查该id是否存在于数据库中,然后向Android应用程序发送响应。根据收到的请求,App将决定登录是否成功,如果登录成功,它将开始发送数据。

您认为在PHP服务器中接收数据的最佳方式是什么(如果登录成功)?我可以使用一个新页面接收数据(在Android应用程序中创建一个连接到另一个页面的新连接,然后开始发送数据),还是可以在同一个登录页面中这样做?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-06 00:28:35

如果登录成功,那么您可以启动一个存储会话和验证的php会话。大多数网站都在这种情况下工作(例如Stack Overflow)。

默认情况下,php中的会话是通过cookie PHPSESSID传递的。因此,如果登录是正确的,那么您可以返回cookie,并在本地(服务器端)将会话与用户关联。

此外,PHP允许创建和操作无会话cookie。

唯一的细节是,由于安全问题,您必须将会话与ip关联。

因此,循环可以是:

android --用户名/密码--> login.php -phpsessid--> android

--phpsessid --> content_page.php -信息-> android

如果您没有登录(或会话已过期)

android --phpsessid --> content_page.php -错误页(不允许)->android

票数 0
EN

Stack Overflow用户

发布于 2011-04-06 00:41:39

您确实应该为此创建一个web服务(SOAP/WSDL),因为它将消除PHP和Android/Java之间传输数据的麻烦。SOAP =(简单对象访问协议)

PHP 方法:

http://davidwalsh.name/web-service-php-mysql-xml-json

至于用户身份验证系统,我会研究一下成熟的框架(比如Zend等)。作为最佳实践,甚至可能使用框架本身为Android应用程序构建身份验证系统和WSDL服务。

ZF方法:

http://www.opensourceuniverse.com/zend-framework/quickstart-web-services-with-soap-and-zend-framework-263.html

在安卓系统中使用SOAP的

http://code.google.com/p/ksoap2-android/

票数 1
EN

Stack Overflow用户

发布于 2011-04-05 23:58:43

你可以在同一个登录页面中做这件事,发布一个变量来说明是否登录,并在php中设置一个if (login = true),或者你也可以在成功登录后重新连接到不同的页面,这取决于你自己,取决于你真正在做什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5554502

复制
相关文章

相似问题

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