私は内部ビューの値をコードイグナイターコントローラに渡そうとしています。私はそれをAjaxスクリプトに渡そうとしています。私はどのようにデバッグし、コントローラで何が起こっているかについてブラウザを通して見る方法を知らない。親切に私を助けて!私はうんざりしている。あなたが私をフィドルに見せてくれれば、私は素晴らしいだろう。ci内のビューからコントローラへデータを渡しているときにエラーが発生しました
これが私の見解コードです:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>login</title>
<link rel="stylesheet" href="<?php echo base_url()?>assets/login/style.css" />
<link href='http://fonts.googleapis.com/css?family=Oleo+Script' rel='stylesheet' type='text/css'>
<script type="text/javascript" src="<?php echo base_url()?>assets/login/jquery-1.7.min.js"></script>
<script type="text/javascript">
javascript:window.history.forward(1);
$(document).ready(function(){
$("#logincheck").click(function(){
var action = $("#lg-form").attr('action');
var username = $("#username").val();
var password = $("#password").val();
//alert($("#username").val());
$.ajax({
type: "POST",
url: action,
data: {u_name : username,pwd : password},
success: function(response)
{ //$('#message').html(response).fadeIn('slow');
if(response == "success")
location.href = "<?php echo site_url();?>/Dashboard/index";
else
$("#message").html('<p class="error">ERROR: Invalid username and/or password.</p>');
}
});
return false;
});
});
</script>
</head>
<body>
<div class="lg-container">
<h1>Admin Area</h1>
<form action="<?php echo site_url('login/login_check');?>" id="lg-form" name="lg-form" method="post">
<div>
<label for="username">Username:</label>
<input type="text" name="username" id="username" placeholder="username"/>
</div>
<div>
<label for="password">Password:</label>
<input type="password" name="password" id="password" placeholder="password" />
</div>
<div style="text-align:center;">
<button type="submit" id="logincheck">Login</button>
</div>
</form>
<div id="message"></div>
</div>
</body>
</html>
そして、私のコントローラのコードは次のとおりです。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
public function index()
{
$this->load->view('login_page/login');
}
public function login_check()
{ print_r($this->input->post());exit;
$res['username'] = $this->input->get('u_name');
$res['password'] = md5($this->input->get('pwd'));
$this->load->model('Login_m');
$i=$this->Login_m->login_data($res);
if($i ==1)
{
echo "success";
}
}
}
そして、私のモデルのコードは次のとおりです。
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Login_m extends CI_Model
{
function login_data($data)
{ //print_r($data);exit;
$query =$this->db->query('select e.* from ins_entity e where e.entity_uname =? and e.entity_pwd =?',array($data['username'],$data['password']))->row_array();
if(count($query) > 0)
{
$newdata = array(
'id' => $query['entity_id'],
'name' => $query['entity_name'],
'uname' => $query['entity_uname']);
$this->session->set_userdata($newdata);
return 1;
}
else
{
//echo "Invalid Credentials at present";
return 0;
}
}
}
?>
こんにちは、これまでフォームアクション:index.php/login/login_checkを渡してみましたか?これを試してみてください。 –
はい私はURL形式のアクションにしか入っていません – Keynes
login/login_checkの代わりにフォームアクションindex.php/login/login_checkを試してみてください。 –