jquery移动登录和访问/拒绝页面

时间:2011-11-19 05:37:14

标签: php jquery mobile login jquery-mobile

我知道这个网站并不是要求人们处理特定的代码,但我很难找到关于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 :(得分:0)

我通过使用自定义AJAX将登录数据发布到服务器并让服务器使用包含采取适当操作所需数据的JSON对象进行响应来解决此问题。

脚本看起来像这样(使用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: ""    
    }
}