我无法将表单输入值发送到控制器

时间:2015-11-25 00:09:10

标签: php codeigniter

在我的index.php中,我正在尝试登录,我必须获取输入值。然后我使用session发送到Memberlogin.php控制器。

在index.php第一行

<?php
  ob_start();
  ini_set('session.cookie_domain','.mydomain.com');
  defined('BASEPATH') OR exit('No direct script access allowed');
?>

我想获得像这样的价值

  <h2 style="text-align: center">Login Area</h2>
<table>
<form action="<?php echo site_url()."/Memberlogin/login";?>"method="post">
  <tr>
    <td>UserName</td>
    <td><input type="text" name="user_name" maxlength="20" /></td>
  </tr>
  <tr>
    <td>Password</td>
    <td><input type="password" name="password" maxlength="20" /></td>
  </tr>
  <tr>
    <td></td>
    <td><input type="submit" name="login" value="LOGIN!" /></td>
  </tr>
</form>
</table>

没有语法错误。

这是我的Memberlogin.php控制器

<?php 

ob_start();

ini_set('session.cookie_domain','.mydomain.com');

if ( ! defined('BASEPATH')) exit('No direct script access allowed');



class Memberlogin extends CI_Controller {

function __construct()
{

    parent::__construct();

    $this->load->library('session');

这是我在Memberlogin.php中的登录功能

function login()
{
    $user_name  = $this->input->post('user_name', TRUE);
    $password   = $this->input->post('password', TRUE);


    if((!empty($user_name)) and (!empty($password)))
    {   ...
    }

但它直接转向其他重定向到index.php

2 个答案:

答案 0 :(得分:2)

您是否已加载表单助手?

$this->load->helper('form');

答案 1 :(得分:0)

表单的操作不正确,请将其替换为

action="<?php echo site_url('Memberlogin/login');?>" 

还在表单标记

中添加以下内容

是enctype =&#34;多部分/格式数据&#34;

<form action="<?php echo site_url('Memberlogin/login');?>" method="post" enctype="multipart/form-data">

或通过执行此操作使用网址助手