JQuery мобильный вход в систему и доступ / отклонение страницы - PullRequest
3 голосов
/ 19 ноября 2011

Я знаю, что этот сайт не просит людей работать над определенным кодом, но мне очень трудно искать примеры / учебные пособия по jquery для входа в систему на мобильных устройствах. Я не уверен, что я делаю это правильно, но я пытаюсь заставить пользователя войти в систему на основе базы данных MySQL (если пользователь находится в моей базе данных), но я пытаюсь выяснить, что писать, когда пользователь входит в систему? Как мне настроить, чтобы он перенаправлял на домашнюю страницу?

PHP страница

 if(isset($_POST['email']) && isset($_POST['pass'])){
    $email = mysql_real_escape_string($_POST['email']);
    $password = md5(mysql_real_escape_string($_POST['email']));

    $sql = mysql_query("SELECT password,email FROM users WHERE email = ".$email." AND password = ".$password." LIMIT 1");

}

index.html

   $('form#login').submit(function(){
      var email = $("form#login input.email").val();
      var pass = $("form#login input.pass").val();
           $.post("ajax/post_login.php", {email: email, pass: pass},
               function(data){
               alert("failed"); //if not logged in
               });
    });

У меня тут проблемы?

Может кто-нибудь помочь мне с jquery mobile?

У меня много разных <div data-role="page">(content here)</div>, и я хочу знать, как получить доступ к определенной странице при входе в систему? и если электронная почта / имя пользователя не удается, есть ошибка?

Я ценю вашу помощь! Спасибо!

1 Ответ

0 голосов
/ 23 ноября 2011

Я решил эту проблему, отправив данные для входа на сервер с помощью пользовательского AJAX и разрешив серверу ответить объектом JSON, содержащим данные, необходимые для выполнения соответствующих действий.

Сценарий выглядел примерно такthis (использует jQuery):

formHandling.formSubmit = function (event, form) {      
    $.post(form.attr("action"), form.serialize(), function (result) {           
        var response = result,
            redirectUrl;

        //Redirect is set, we prio this.
        if (response.Redirect) {

            redirectUrl = response.Redirect;

            //Default redirect can be overridden by querystring
            if (helpers.getParameterByName("redir") !== "") {
                redirectUrl = helpers.getParameterByName("redir");
            }

            document.location.href = redirectUrl; //This will cause a "full page load", but is desired in order to clean out the "Logged out view" of the pages
        } else if (response.Result) { //If no redirect is set, display the result in the target

            var resultTargetId = form.attr("data-result-target-id");
            formHandling.displayResult(resultTargetId, response.Result); //Displays an error/success message in element with id = resultTargetId
        }
    });

    event.preventDefault();
};

и пример данных JSON, возвращаемых со стороны сервера:

//Failed login
{
    Redirect: null, 
    Result: {
        IsError: true,
        ErrorMessage: "Failed to login" 
    }
}

//Successful login
{
    Redirect: "http://www.example.com/someloggedinpage",    
    Result: {
        IsError: false,
        ErrorMessage: ""    
    }
}
...