Php 是否可以从html表单操作调用codeigniter控制器函数
我有一个html模板中的登录表单,希望在表单提交时调用codeigniter控制器函数。如果html页面位于CI文件夹之外,且CI文件夹名称为二进制,则Ctrl\u signin是我的控制器,chkvalidatelogin是我的功能,是否可能 HTML表单代码: Mdl_登录型号代码:Php 是否可以从html表单操作调用codeigniter控制器函数,php,html,codeigniter,Php,Html,Codeigniter,我有一个html模板中的登录表单,希望在表单提交时调用codeigniter控制器函数。如果html页面位于CI文件夹之外,且CI文件夹名称为二进制,则Ctrl\u signin是我的控制器,chkvalidatelogin是我的功能,是否可能 HTML表单代码: Mdl_登录型号代码: 我尝试了上面的代码,但是它显示了函数URL上的空白页,这是非常有可能的。只需将表单操作指向完整的URL,包括控制器和方法,例如example.com/controller/method 但是,请注意,如果启用了
我尝试了上面的代码,但是它显示了函数URL
上的空白页,这是非常有可能的。只需将表单操作指向完整的URL,包括控制器和方法,例如
example.com/controller/method
但是,请注意,如果启用了CSRF保护,您可能会遇到控制器拒绝处理表单的情况。您需要禁用该特定控制器/方法上的CSRF(不推荐),完全禁用CSRF(绝对不推荐),或者找到一种方法从外部Codeigniter遵守CI的CSRF验证(通过浏览器/表单操作中的URL等)从请求调用控制器这与控制器的功能差不多,所以听起来您希望使用CI的默认功能。你有没有通过CI应用程序外部的呼叫控制器:对不起,兄弟,这是我的编码错误,当我将提交按钮代码从更改为时,它工作正常
<form action="binary/Ctrl_signin/chkvalidatelogin" method="post">
<input type="email" name="username" class="email" placeholder="Username" required="" />
<input type="password" name="Password" class="password" placeholder="Password" required="" />
<input type="submit" value="Submit">
</form>
function chkvalidatelogin(){
if(isset($_POST['login']) && $_POST['login']=='login')
{
$username=$_POST['username'];
$password = $_POST['password'];
$data = $this->Mdl_signin->validatelogin('member',$username,$password);
if($data>0)
{
$userdata=$this->Mdl_signin->fetchmemid($username);
$mid=$userdata->mem_lid;
$mid1=$userdata->username;
$_SESSION['user'] = $mid1;
$_SESSION['mlid'] = $mid;
$_SESSION['username'] = $mid;
$this->session->set_userdata('login','true');
$msg['message']="successfully login";
redirect(base_url().'Ctrl_signin/Dashboard',$msg);
}
else
{
$msg="login failed!!";
redirect(base_url().'Ctrl_signin/signin?mesg='.$msg);
}
}
}
function validatelogin($table,$mid,$password)
{
$query=$this->db->query('select * from '.$table.' where username="'.$mid.'" and decrepted_password="'.$password.'"');
return $query->num_rows();
}
function fetchmemid($username)
{
$sql='select mem_lid,username from member where username="'.$username.'"';
$query=$this->db->query($sql);
return $query->row();
}