2013-05-20 3 views
0

я эксперт в программировании php, mysql ... Я пишу скрипт php, mysql, который пользователи могут входить в систему, регистрироваться, иметь профили и так много подробнее ... я просто новичок в программировании андроида ... я пишу приложение для Android, которые имеют WebView для показа мобильной версии моего сайта ..что лучше всего подходит для входа и регистрации в android + phpmysql (bigginer)

я хочу знать: как я могу проверить, что пользователь зарегистрировался/или нет (сеансы, созданные с помощью php, когда пользовательский логин является успешным)? (действительно, я хочу проверить, например, $ _SESSION ['logged'] в приложении для Android, чтобы показать конкретную активность (если сеанс exsits, show activity1, а если нет exit show activity2)

важное примечание: я большой человек в андроид!

простите за мой английский (английский, это не мой родной язык!)

моя проблема решена! Вы можете использовать этот учебник ...... это очень легко и понятно ... Android Login and Registration with PHP, MySQL and SQLite

+0

Вы создаете приложение для Android или мобильный WebView? – OMAK

+0

Я создаю мобильное приложение в webview ... но я хочу зарегистрироваться и войти в android вместо webview –

+0

, а затем использовать обработчики json для передачи данных пользователя и на основе входа в json-ответ для приложения, а затем сохранить данные пользователя в общих предпочтениях будущее использование – OMAK

ответ

0

Я не профессионал. Надеюсь, я смогу решить вашу проблему. У меня есть два способа сделать систему членов.

Во-первых, я буду создавать модель данных, как User.java

-> User.java

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

// Getter and Setter.. 
} 

в то время как пользователь Логин, создать новый пользовательский объект.

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

Когда вам нужно получить информацию с сервера по адресу httprequest. Что вам нужно сделать, так это получить информацию от объекта пользователя

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(....) 
} 
+0

ваш ответ поможет мне, но не полностью ... tnx alot, но я хочу читать seassion ... –

+0

Вы должны сделать это на стороне сервера, я думаю. Фактически, cookie, который вы используете на стороне клиента, ссылается на сеанс на стороне сервера. –

+0

[Подробная информация о Cookie и сеансе] (http://en.wikipedia.org/wiki/HTTP_cookie#Session_cookie) Надеюсь, что смогу вам помочь. : D –

Смежные вопросы