Nir*_*ira 2 javascript php forms ajax codeigniter
我的表格有问题。我需要做一个登录表单,但我无法检索登录数据。
这是我的观点 login.php:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
?>
<div class="main">
<div class="container">
<div class="card card-container">
<h1>Control de Asistencia</h1>
<form id="login" class="form-signin" method="post" action="<?php echo
base_url('login/ingresar'); ?>">
<span id="reauth-email" class="reauth-email"></span>
<input type="email" name="email" id="inputEmail" class="form-control"
placeholder="Usuario" required autofocus>
<input type="password" name="password" id="inputPassword" class="form-control"
placeholder="Clave" required>
<br/>
<button class="center btn btn-raised btn-info btn-lg" type="submit">Ingresar</button>
<div class="login__rpta"></div>
</form><!-- /form -->
</div><!-- /card-container -->
</div><!-- /container -->
</div><!--main-->
Run Code Online (Sandbox Code Playgroud)
控制器 Login.php:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->model('Login_model');
}
function ingresar(){
$email = $this->input->post("email");
$password= md5($this->input->post("password"));
$resp = $this->Login_model->login($email, $password);
if($resp){
$data = [
"id" => $resp->id,
"name" => $resp->nombre,
"nivel" => $resp->nivel,
"login" => TRUE
];
$this->session->set_userdata($data);
}
else{
echo "errorxxx";
}
}
function cerrar(){
$this->session->sess_destroy();
redirect(site_url());
}
}
Run Code Online (Sandbox Code Playgroud)
Javascript custom.js:
$(function () {
$.material.init();
$("#login").submit(function(event){
event.preventDefault();
$.ajax({
url:$(this).attr("action"),
type:$(this).attr("method"),
data:$(this).serialize(),
success:function(resp){
if(resp==="error"){
$('.login__rpta').html("Usuario o clave incorrectos");
console.log(resp);
}
else{
window.location.href = base_url + "welcome/home";
console.log(resp);
}
}
});
});
------ more code ------
});
Run Code Online (Sandbox Code Playgroud)
编辑:这是模型 Login_model.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Login_model extends CI_Model {
function login($email, $password){
$this->load->database();
$this->load->dbutil();
// check connection details
if( !$this->dbutil->database_exists('myDatabase')) {
echo 'Not connected to a database, or database not exists';
} else {
echo 'Conectado';
}
$this->db->where("email", $email);
$this->db->where("password", $password);
$resultados = $this->db->get("profesores");
if ($resultados->num_rows()>0) {
return $resultados->row();
}
else{
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
custom.js 中的 console.log 向我显示视图(表单)而不是登录参数,并将我重定向到 404 错误页面...请问我做错了什么?这不是我的代码(我只是想修复它),我看不到问题!
您的 base_url 在 codeigniter 的 config.php 中定义,例如:
$config['base_url'] = 'http://or.org/';
Run Code Online (Sandbox Code Playgroud)
这并不意味着您可以简单地使用 base_url 作为 javascript 中的变量,希望获得该值。
但是您可以将其回显如下:
window.location.href = '<?php echo base_url()?>' + 'welcome/home'
Run Code Online (Sandbox Code Playgroud)
或者只使用相对路径
window.location.href = '/welcome/home'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |