2016-09-19 40 views
0

当我提交这个表单时,所有的事情都很好,但是我希望controller函数不会在url中显示。我希望所有的事情都在同一页面完成。不过该URL显示函数在codeigniter中提交表单后在url中显示

localhost/Naveen/CodeIgniter/welcome/insertform 

,但我不希望form_open(“”)显示的URL会这样怎么可能?

控制器的welcome.php

public function insertform() 
{ 
    if (isset($_POST['mysmt'])) 
    { 
     $this->form_validation->set_rules('fname', 'Name', 'required'); 
     $this->form_validation->set_rules('femail', 'Email', 'trim|required|valid_email'); 
     $this->form_validation->set_rules('fmobile', 'Mobile', 'required'); 
     if ($this->form_validation->run() == FALSE) 
     { 
      $this->load->view('welcome_view'); 
     } 
     else 
     { 
      $_POST['fname']; 
      $_POST['femail']; 
      $_POST['fmobile']; 
      if($this->test_model->insert('user_accounts',array('',$_POST['fname'],$_POST['femail'],$_POST['fmobile']))) 
      { 
       $success['success']="Thanks For Join Us"; 
       $this->load->view('welcome_view',$success); 
      } 
     } 
    } 
    else 
    { 
     $this->load->view('welcome_view'); 
    } 
} 

视图welcome_view.php

<?php echo form_open('welcome/insertform'); // ?> 
    <div class="form-group"> 
    <?php 
    if(isset($success)) 
    {?> 
     <input type="button" class="form-control btn-success" value="<?php echo $success; ?>"> 
<?php } 
    else 
    { 
     echo ""; 
    }?> 
    </div> 
    <div class="form-group"> 
     <label class="control-label" for="focusedInput">Name <?php echo form_error('fname'); ?></label> 
     <?php 
     $entername = array(
      'name'  => 'fname', 
      'value'  => '', 
      'maxlength' => '100', 
      'placeholder' => 'Enter Name', 
      'class'  => 'form-control', 
     ); 
     echo form_input($entername); ?> 
    </div> 
    <div class="form-group"> 
     <label class="control-label" for="focusedInput">Email <?php echo form_error('femail'); ?></label> 
     <?php 
     $enteremail = array(
      'name'  => 'femail', 
      'value'  => '', 
      'maxlength' => '100', 
      'placeholder' => 'Enter Email', 
      'class'  => 'form-control', 
     ); 
     echo form_input($enteremail); ?> 
    </div> 
    <div class="form-group"> 
     <label class="control-label" for="focusedInput">Mobile <?php echo form_error('fmobile'); ?></label> 
     <?php 
     $entermobile = array(
      'name'  => 'fmobile', 
      'value'  => '', 
      'maxlength' => '100', 
      'placeholder' => 'Enter Mobile', 
      'class'  => 'form-control', 
     ); 
     echo form_input($entermobile); ?> 
    </div> 
    <div class="form-group"> 
    <?php 
     $f_formsmt = array(
      'name'  => 'mysmt', 
      'value'  => 'Submit Form', 
      'class'  => 'form-control btn btn-success', 
     ); 
     echo form_submit($f_formsmt); ?> 
    </div> 
    <?php echo form_close(); ?> 
+0

空白form_open()我觉得不调用它不能运行的功能,但我不能与任何名称 –

+0

显示功能,为什么我的网址显示功能,我想在函数调用,但之后它不工作提交后没有去任何函数或任何地方链接核心php $ _SERVER ['PHP_SELF'] –

回答

0

你处理它通过应用程序/配置/ routes.php文件

考虑您的网址: localhost/Naveen/CodeIgniter/welcome/insertform

$route['add'] = 'welcome/insertform'; 

现在你可以使用localhost/Naveen/CodeIgniter/add

你可以改变任何你想要使用任何航线控制器/函数的字符串。

希望你明白:)

+0

我想问你,当我在核心PHP的工作,我给表单操作$ _SERVER ['PHP_SELF']。在codeigniter中是不是有可能...? –

+0

我不确定。但是如果你把action =“”,那么它会被调用回调用它的那个函数。 –

0

您需要添加的URL路径,并添加链接到你的链接的href

在route.php附加:

$route['custom_url'] = 'controller/method'; 
+0

好的我明白你们都想说什么谢谢你:-) –

0

我用Header("location:../{whatever-filename}")

然后在config/routes.php中给出了“whatever-filename”的正确路由。

不使用重定向功能的路由会加载相应的页面,但url仍然会显示您正在使用的控制器和方法。

希望它可以帮助

相关问题