2016-09-19 70 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仍然會顯示您正在使用的控制器和方法。

希望它可以幫助

相關問題