2015-01-02 128 views
0

这是我第一次使用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回到视图,它应该是c赫克通过控制器验证规则的数目,但我想先拿到数回视图文件

时,我写上面的代码,我得到了多少回,但在视图文件的一个普通网页没有任何造型和在我输入表格中插入的数字的顶部,甚至不在我想要使用的位置。

3-01-2015 我想我知道问题是什么,但我仍然不知道如何解决它。我有在控制器 “project_controller”的另一种方法是:

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

我在route.php文件中写道:

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

所以我觉得这个问题是"function no_of_pics()"无法查看页面在向function project()发送一个变量时正确地负责,那么现在的解决方案是什么?

+0

我想我知道问题是什么,但我仍然不知道如何解决它。 我有在控制器 “project_controller” 的另一种方法是: '应用/视图/'.$页'。 '公共职能项目($页= '家'){ \t \t如果(file_exists(PHP ')){ \t show_404(); \t} \t \t $ this-> load-> view($ page); \t \t }' 和我写的路线。php file: '$ route ['(:any)'] ='project_controller/project/$ 1';' 所以我认为问题是“函数no_of_pics()”在发送变量时无法正确查看页面它作为函数project()负责,那么现在有什么解决方案?! – Abdelrahman

+0

有没有人了解我的问题?! – Abdelrahman

回答

0

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

set_value('no_pics',$no_pic); 
+0

我应用第二个参数后得到了相同的结果。 – Abdelrahman

+0

你在no_of_pics()提交的价值?尝试Print_r($ _ POST)并检查。 – AVM

+0

我已经得到了在“<?php echo $ no_pic;?>提交的值”,我在url栏中看到:http:// localhost/project/project_controller/no_of_pics 并且我插入的数字出现在白页,然后在2秒后,它加载control_panel视图页面,我发送varvarible但没有造型,请再次修改我的问题,我编辑它以添加更多的细节,谢谢 – Abdelrahman

0

您需要从视图文件

<?php $no_pic=''; ?> 

删除此行它重置从控制器传递变量。

+0

,但如果我删除此行将出现错误消息说未定义的变量no_pic!所以我写这条线然后: <?php echo $ no_pic; ?> 以获得$ no_pic的值 – Abdelrahman

0

你可以试试这个技术

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

我想,然后你发现它视图页面上。

+0

无论是发送变量以通过数组还是对象查看文件都是相同的结果。 – Abdelrahman

+0

我真的需要帮助,请再次阅读我编辑的问题,以获取更多附加信息 – Abdelrahman

相关问题