将变量发送到控制器并使用代码点火器将其返回视图


sending variable to controller and getting it back to view using codeigniter

这是我第一次使用codeigniter制作网站。我的问题如下:

我的视图文件包含:

<label class="control-label ">Insert Number of photos : </label>
<?php echo form_open('project_controller/no_of_pics'); ?>
<input name="no_pics" placeholder="Insert a number" type="text" value="<?php echo set_value('no_pics'); ?>" >
<input type='submit' name='submit' value='Insert' /> 
<?php echo form_close() ?>
<?php  $no_pic=''; ?>
<?php echo $no_pic; ?>
<br><br>`

我的控制器文件包含:

public function no_of_pics(){
      $this->load->view('control_panel');
      $number=$this->input->post('no_pics');
      $hoho = array('no_pic' =>  $number  );
      $this->load->view('control_panel',$hoho);
 }

我在 .htaccess 文件中写了那行:

$route['project_controller/no_of_pics'] = "/project_controller/no_of_pics";

我的问题是我无法将no_pics返回视图,它应该通过控制器中的验证规则检查数字,但我想首先将数字返回视图文件

当我编写上面的代码时,我得到了数字,但在视图文件的普通页面中没有任何样式,并且在顶部我插入输入表单的数字甚至不是我想使用的地方。

2015-01-3我想我知道问题是什么,但我仍然不知道如何解决它.我在该控制器中还有其他方法 "project_controller"是:

 public function project($page = 'home'){ 
    if ( ! file_exists ('application/views/'.$page.'.php')){ 
       show_404();
     } 
 $this->load->view($page);
 }

我在路线.php文件中写道:

$route['(:any)'] = 'project_controller/project/$1'; 

所以我认为问题是"function no_of_pics()"向页面发送变量时无法正确查看页面,因为function project()对此负责,那么现在的解决方案是什么?

您必须通过函数的第一个参数提供字段名称。第二个(可选)参数允许您为表单设置值。请在此处查看

set_value('no_pics',$no_pic);

你可以试试这个技术

  $hoho['no_pic'] =$number;
  $this->load->view('control_panel',$hoho);

我想然后你在查看页面上找到它。

您需要

从视图文件中删除此行

<?php  $no_pic=''; ?>

它重置从控制器传递的变量。