CodeIgniter中的登录问题

时间:2012-11-20 05:48:06

标签: php jquery codeigniter

我在编程COdeigniter中使用PHP登录脚本。如果我在这个表单中输入正确的凭据,它会显示error,而在输入正确的凭据后,如果我在新标签中打开相同的表单,它将自动打开。似乎,一些js问题。任何的想法 ?这是code

 <form method="post" action="#" onsubmit="return validateLogin('loginForm')" name="loginForm"> 
          <table width="100%" cellpadding=0 cellspacing=0>
            <tr>
              <td>
                <b>
                  Username:
                </b> 
              </td>
              <td>
                <input type="text" name="usr" />
              </td>
            </tr>
            <tr>
              <td>
                <b>
                  Password:
                </b>
              </td>
              <td>
                <input type="password" name="pwd" />
              </td>
            </tr>
            <tr>
              <td></td>
              <td>
                <input type="submit" value="Login" class="submit" />
              </td>
            </tr>
          </table>  
        </form>

功能是

function validateLogin(form) {
  user = document.forms[form].usr;
  pwd = document.forms[form].pwd;
  if(user.value.length==0)
  {
    notify('Please enter a valid username', 'error');
    user.focus();
    hilit('[name = user]');
    return false;
  }
  else if(pwd.value.length==0)
  {
    notify('Please enter a valid password', 'error');
    pwd.focus();
    hilit('[name = pwd]');
    return false;
  }
  else
  {
  notify('processing.... please wait', 'notice');
  dataString = 'user='+user.value+'&pwd='+pwd.value;
    jQuery.ajax({
      type: "POST",
      data: dataString,
      url: baseurl+'admin/checkLogin', 
      cache: false,
      error: function()
      {
        notify("An error occurd... please try later", 'error');
      },
      success: function(html)
      {
        if(html == 1)
        {
          window.location = baseurl+'admin/home';
        }
        else
        {
          notify('Your login details are incorrect!!!', 'error');
        }
      }
    });
    return false;
  }
  return false;
}

1 个答案:

答案 0 :(得分:0)

您正在以错误的方式发送数据 发送到服务器的数据必须是键/值对。 {key : value}

在这样的ajax调用中修改你的数据

data : { user : user.value, pwd : pwd.value}

修改

使用此

更改错误处理代码
error:function(xhr,err){
    alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
    alert("responseText: "+xhr.responseText);
}