我正在使用一个Android应用程序,它将信息发送到PHP服务器。Android应用程序应该首先登录,如果登录成功,则开始发送数据。
这是php页面(登录):
<?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应用程序中创建一个连接到另一个页面的新连接,然后开始发送数据),还是可以在同一个登录页面中这样做?
发布于 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
发布于 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方法:
在安卓系统中使用SOAP的:
发布于 2011-04-05 23:58:43
你可以在同一个登录页面中做这件事,发布一个变量来说明是否登录,并在php中设置一个if (login = true),或者你也可以在成功登录后重新连接到不同的页面,这取决于你自己,取决于你真正在做什么。
https://stackoverflow.com/questions/5554502
复制相似问题