這裏我試圖用Ajax和Codeigniter登錄,但無法獲得成功。 這是我的小代碼,它不與ajax一起工作,但是與表單動作一起工作。Ajax代碼不能與codeigniter,PHP一起工作?
這是控制器代碼
<?php
class loginmodal extends CI_Controller{
function login(){
$data['title'] = 'USER AUTHENTICATION';
$this->load->view("loginmodal", $data);
}
function index(){
echo'<script type="text/javascript> alert("php 0"); </script>"';
}
function login_validation(){
$this->load->library('form_validation');
$this->form_validation->set_rules('login_username', 'Username', 'trim|required|alpha|min_length[3]|max_length[30]|xss_clean');
$this->form_validation->set_rules('login_password', 'Password', 'trim|required|alpha|min_length[3]|max_length[30]|xss_clean');
if($this->form_validation->run())
{
//true
$Uname = $this->input->post('login_username');
$Pass = $this->input->post('login_password');
$url = $this->input->post('current_loginurl');
// model function_exists
$this->load->model('include/main_loginmodal');
if($this->main_loginmodal->can_login($Uname, $Pass))
{
$session_data = array (
'username' => $Uname
);
$this->session->set_userdata($session_data);
//redirect(base_url(). 'article');
//$this->session->set_flashdata('redirectToCurrent', base_url());
//redirect($this->session->flashdata('redirectToCurrent'));
//redirect(base_url()/current_url(), 'refresh');
redirect(base_url(). 'loginmodal/enter');
}
else
{
$this->session->set_flashdata('error', 'Invalid Username or Password');
;
redirect(base_url(). 'article');
}
}
else
{
//false;
$this->login();
//exit
}
}
function enter()
{
if($this->session->userdata('username') != '')
{
redirect(base_url(). 'loginmodal/index');
//redirect($url);
echo 'Login Success'.$this->session->userdata('username');
echo'<script type="text/javascript> alert("php 1"]); </script>"';
}
else
{
redirect(base_url(). 'loginmodal/article');
echo'<script type="text/javascript> alert("php 2"]); </script>"';
}
}
function logout()
{
$this->session->unset_userdata('username');
redirect(base_url(). 'loginmodal/index');
}
}
?>
這是我的AJAX代碼..
<script type="text/javascript">
$(document).ready(function(){
$("#loginform").submit(function(event){
event.preventDefault();
$.ajax({
url: "<?php echo base_url();?>include/loginmodal/login_validation",
type: "POST",
data:
{
login_username: $('#login_username').val(),
login_password: $('#login_password').val()},
success: function(data)
{
alert(data);
if (data !== '')
{
alert("you are logged IN");
//window.location.replace("http://127.0.0.1/simple_login_redirect/index.php/user/home");
//window.location.href="http://127.0.0.1/simple_login_comp/index.php/user/members";
}
else if(data === ''){
alert("sorry");
}
}
});
alert('data is ');
});
});
</script>
這是我的看法代碼
<!-- -Login Modal -->
<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content login-modal" style="background-color:#fff;">
<div class="modal-header login-modal-header" >
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title text-center" id="loginModalLabel">USER AUTHANTICATION</h4>
</div>
<div class="modal-body">
<div class="text-center">
<div role="tabpanel" class="login-tab">
<!-- Nav tabs -->
<ul class="tab">
<li><a href="javascript:void(0)" class="tablinks" onclick="openCity(event, 'home')" id="defaultOpen">SignIn</a></li>
<li><a href="javascript:void(0)" class="tablinks" onclick="openCity(event, 'profile')">SignUp</a></li>
<li><a href="javascript:void(0)" class="tablinks" onclick="openCity(event, 'forget_password')">Forgot Password</a></li>
</ul>
<!-- Tab panes -->
<div role="tabpanel" class="tab-pane active text-center tabcontent " id="home" style="border:none; vertical-align:middle;" >
<span id="login_fail" class="response_error" style="display: block;"><?php $this->session->flashdata("error");?></span>
<div class="clearfix"></div>
<form method="post" action="" id = "loginform">
<div class="form-group">
<div class="input-group" style="display : none;">
<div class="input-group-addon"><i class="fa fa-user"></i></div>
<input type="hidden" class="form-control" id="current_loginurl" name="current_loginurl" placeholder="Username" style="background-color:#fff; color:#000;"
value="<?php echo current_url(); ?>">
</div>
<span class="help-block has-error" id="email-error"></span>
<?php echo form_error('login_username'); ?>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-user"></i></div>
<input type="text" class="form-control" id="login_username" name="login_username" placeholder="Username" style="background-color:#fff; color:#000;">
</div>
<span class="help-block has-error" id="email-error"></span>
<?php echo form_error('login_username'); ?>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-lock"></i></div>
<input type="password" class="form-control" id="login_password" name="login_password" placeholder="Password" style="background-color:#fff; color:#000;">
</div>
<span class="help-block has-error" id="password-error"><?php echo form_error('login_password'); ?></span>
</div>
<input type="checkbox" style="float: left; padding-top:10px;"> RememberMe</input>
<input type="submit" id="login_btn" class="btn btn-login" data-loading-text="Signing In...." style="float: right;" value="Login">
<span class="help-block has-error" id="password-error"><?php echo form_error('login_password'); ?></span>
<div class="clearfix"></div>
<div class="login-modal-footer">
<div class="row">
<!--<div class="col-xs-8 col-sm-8 col-md-8">
<i class="fa fa-lock"></i>
<a href="javascript:;" class="forgetpass-tab" style="padding-left: 48px;"> Forgot password? </a>
</div>
<div class="col-xs-4 col-sm-4 col-md-4">
<i class="fa fa-check"></i>
<a href="javascript:;" class="profile"> Sign Up </a>
</div>-->
</div>
</div>
</form>
</div>
<div role="tabpanel" class="tab-pane tabcontent" id="profile">
<span id="registration_fail" class="response_error" style="display: none;">Registration failed, please try again.</span>
<div class="clearfix"></div>
<form method="post" action="">
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-user"></i></div>
<input type="text" class="form-control" id="F_Name" placeholder="First Name" style="background-color:#fff; color:#000;">
</div>
<span class="help-block has-error" data-error='0' id="username-error"></span>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-at"></i></div>
<input type="text" class="form-control" id="L_Name" placeholder="Last Name" style="background-color:#fff; color:#000;">
</div>
<span class="help-block has-error" data-error='0' id="remail-error"></span>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-at"></i></div>
<input type="Email" class="form-control" id="Email" placeholder="Email" style="background-color:#fff; color:#000;">
</div>
<span class="help-block has-error" data-error='0' id="remail-error"></span>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-at"></i></div>
<input type="password" class="form-control" id="r_password" placeholder="Password" style="background-color:#fff; color:#000;">
</div>
<span class="help-block has-error" data-error='0' id="remail-error"></span>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-at"></i></div>
<input type="password" class="form-control" id="rc_password" placeholder="Confirm Password" style="background-color:#fff; color:#000;">
</div>
<span class="help-block has-error" data-error='0' id="remail-error"></span>
</div>
<button type="button" id="register_btn" class="btn btn-block bt-login" data-loading-text="Registering....">Register</button>
<div class="clearfix"></div>
<div class="login-modal-footer">
<!--<div class="row">
<div class="col-xs-8 col-sm-8 col-md-8">
<i class="fa fa-lock"></i>
<a href="javascript:;" class="forgetpass-tab"style="padding-left: 48px;"> Forgot password? </a>
</div>
<div class="col-xs-4 col-sm-4 col-md-4">
<i class="fa fa-check"></i>
<a href="javascript:;" class="signin-tab"> Sign In </a>
</div>
</div>-->
</div>
</form>
</div>
<div role="tabpanel" class="tab-pane text-center tabcontent" id="forget_password">
<span id="reset_fail" class="response_error" style="display: none;"></span>
<div class="clearfix"></div>
<form method="post" action="">
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-user"></i></div>
<input type="text" class="form-control" id="femail" placeholder="Email" style="background-color:#fff; color:#000;">
</div>
<span class="help-block has-error" data-error='0' id="femail-error"></span>
</div>
<button type="button" id="reset_btn" class="btn btn-block bt-login" style="padding-left: 48px;"data-loading-text="Please wait....">Forget Password</button>
<div class="clearfix"></div>
<div class="login-modal-footer">
<!--<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6">
<i class="fa fa-lock"></i>
<a href="javascript:;" class="signin-tab" style="padding-left: 48px;"> Sign In </a>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<i class="fa fa-check"></i>
<a href="javascript:;" class="signup-tab"> Sign Up </a>
</div>
</div>-->
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
型號代碼是在這裏
<?php
class main_loginmodal extends CI_Model{
function can_login($Uname, $pass)
{
$this->db->where('Uname', $Uname);
$this->db->where('Pass', $pass);
$query = $this->db->get('datab');
if($query->num_rows() > 0)
{
return true;
}
else
{
return false;
}
}
}
?>
我在控制檯中出現這個錯誤。 404未找到。
什麼叫不工作呢? – madalinivascu
其中是您的ajax登錄的loginmodal/login_validation代碼? – madalinivascu
它在這裏'controllers/include/loginmodal.php' – Mahi