php 会话在 Android 应用程序中被破坏
我正在android中构建一个登录应用程序,其中我点击一个url(带有用户名和密码),直到该部分它工作正常,但之后每当我点击一个url(一旦用户通过身份验证),它什么都不返回(即错误消息,例如请先登录)。 然而,它在非常相似的 iPhone 应用程序和浏览器上运行良好。
我不明白真正的问题是什么。服务器端是否有任何问题(即在 php 编码中)或者 Android 应用程序有问题。我们实际上不能责怪服务器端编码,因为它在同一个 iPhone 应用程序和浏览器上工作得很好。
任何想法或帮助将不胜感激。 谢谢。
I am building a login application in android in which i am hitting a url(with username and password) upto that part it works fine but after that whenever I am hitting a url(once the user is authenticated) , it return nothing(i.e. a error message like please login first).
However it works fine in very similar iphone app and on browser.
I could not understand that what is the actual problem. Is there any problem on server side(i.e. in php coding ) or there is something wrong with android app. We cant actually blame the server side coding because it works fine for same iphone app and on browser.
Any idea or help will be highly appreciated.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当您通过浏览器浏览站点时,您的 Php 脚本使用会话令牌来识别访问者。通常它存储在 PHPSESSID 变量中。
如果您希望 Android 应用程序在服务器端保持身份验证,您需要在第一次连接后获取该 id,然后将其发送到所有后续请求的标头中。
**编辑:** 这就是您想要做的: 如何在 Android 和/或 Java 中使用 HttpClient 管理 cookie?
Your Php script uses a session token to identify the visitor when you browse the site via a browser. Ususally its stored in a PHPSESSID variable.
If you want your Android application to stay authenticated on the server side you need to fetch that id after the first connection and then send it in the headers of all your subsequent requests.
**EDIT : ** This is what you want to do : How do I manage cookies with HttpClient in Android and/or Java?
您可以使用活动的
DefaultHttpClient
连接,并通过$_SESSION
在服务器端对每个移动请求进行验证。这是一个小示例代码(不适用于生产)首先有一个类:
然后在 mainactivity.java
其中 login.php
和 content.php 为:
当我们运行时此示例代码将以
更多信息结尾: http: //www.pipiscrew.com/2014/11/phpandroid-secure-connection-with-session-variable/
You can use an active
DefaultHttpClient
connection and make validations on each mobile-request, at server side, through$_SESSION
. Here is a small sample code (is not for production)First there is a class:
Then at mainactivity.java
Where login.php
and content.php as :
When we run this sample code will end with
More information at: http://www.pipiscrew.com/2014/11/phpandroid-secure-connection-with-session-variable/
我最近遇到过这个问题,当我们从 Android 访问 API 时,PHP 会话没有被创建。
花了一些时间后,我想通了。
要启用 cookie,您必须在
OkHttpClient
中添加cookieJar
。I have encountered this very recently, the PHP session was not getting created when we hit the API from Android.
After spending some time, I figured it out.
For enabling cookies you have to add
cookieJar
in yourOkHttpClient
.