当我从codigniter中的其他视图调用视图时,找不到页面

时间:2016-08-21 16:08:18

标签: javascript php jquery html codeigniter

我正在尝试使用编码器中的post方法提交我的表单,当我提交表单时,从主视图调用我的表单我找不到404页面。

这是我的标题表单:

<form class="form-horizontal" id="sendform" role="form" action="<?php echo `base_url('/pages/insert_into_db') ;?>" method="post" >`

在控制器中我有这个功能控制器:

pages.php:

        <?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Pages extends CI_Controller {
public function view ($page='gurantee'){
    if ( ! file_exists(APPPATH.'views/pages/'.$page.'.php'))
        {
                // Whoops, we don't have a page for that!
                show_404();
        }
        $this->load->view('pages/'.$page);
      }  

    public function index ()
    {
        $this->load->helper('url');
        $this->load->view('Welome');
    }
     public function display () {

         $this->load->model('ektreemodel');
         $data['query']=$this->ektreemodel->display();
         $this->load->view('table',$data);
    }
      public function insert_to_db()
      {
        $this->load->helper('url');
        $this->load->model('ektreemodel');
        $this->ektreemodel->insert_into_db();
        $this->load->view('gurantee');
    }

    public function dis () {
       $this->load->helper('url');
        $this->load->view('registration');
      }

}

,网址是:

http://localhost:8888/index.php/pages/index.php/pages/display

当我提交主要的第一个视图时,它工作正常, 有什么我必须改变,或者有一些方法我可以使用JavaScript,所以当我将使用post方法它将从控制器调用显示功能?

3 个答案:

答案 0 :(得分:0)

解决方案1 ​​

<form class="form-horizontal" id="sendform" role="form" action="<?php echo site_url('pages/display') ;?>" method="post" >`

使用包含site_url()而不是base_url()

的代码

解决方案2

如果这不起作用,则更合乎逻辑的方式是:

echo form_open('pages/display', 'class="form-horizontal" id="sendform"');

这将为您生成表单标记。希望这会有所帮助:)

解决方案#3:

pages.php中设置“p”资本Pages.php

答案 1 :(得分:0)

试试这个

<form class="form-horizontal" id="sendform" role="form" action="<?php echo base_url().'/pages/display' ;?>" method="post" >

要使用base_url(),必须先加载URL Helper。

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

还要确保在application / config / config.php中提供了网站的基本网址。

答案 2 :(得分:0)

问题是因为我从另一个视图调用视图我不必使用base_ur,因为它将调用localhost / index.php / controller。

在我的例子中,我位于我的网址已经从第一个视图调用的地方。

所以我需要做的就是将表单方法帖子更改为:

&#34;方法=&#34;后&#34; &GT;

直接拨打的地方: http://localhost:8888/index.php/pages/insert_to_db

之前已经调用http://localhost:8888/index.php/pages/,所以需要从头开始调用base_url。